UTM icon indicating copy to clipboard operation
UTM copied to clipboard

QEMU 8.0 performance regression on emulation

Open christophenouvel opened this issue 2 years ago • 12 comments

Hi all,

I have a Windows 10 VM running acceptably fast with UTM, from the early versions to 4.2.5 (included).

I give 6 cores to reach that performance level (Mac M1 Pro). Activity monitor shows bout 600% CPU usage for UTM.

Since 4.3.0 beta, every version including 4.3.4, VM is more than twice slower. Activity monitor shows about 300% CPU usage.

I did not modify any VM setting.

Installing version 4.2.5 again solves the problem...

Any idea WHY??

Regards,

Christophe.

christophenouvel avatar Aug 03 '23 09:08 christophenouvel

Wish you had reported this before if it happened during the beta period. Now you’ll have to wait for the next release for the fix. Anyways, post your config.plist and debug.log like the issue template asked for along with your host config details.

osy avatar Aug 03 '23 14:08 osy

Sorry about being so late in reporting...

It's the first time I send debug log, hope format will be correct, it comes from launching utm in terminal.

Fist point : debug log for 4.2.5 is short, while debug log for 4.3.4 (only tried that version) is really huge! Second point : I didn't notice "export debug" in QEMU tab of a VM before generting logs...

Debug UTM.zip

I'm surprised to be the only one confronted to this problem : UTM is the only way for me to not need and x86 Mac aside the M1 one! x86 emulation is not perfect because of relatively low performance, but it is really stable. Every % gained in speed is really appreciated. It is a great software.

This VM needs a USB smartcard reader, no problem so far, and disks are encrypted (https://www.primx.eu/fr/encryption-software/cryhod/). If the VM runs too slowly or not at all : I need 2 physical machines... Historically, this VM is converted from a VirtualBox one, running on an Intel Mac.

Regards,

Christophe.

christophenouvel avatar Aug 04 '23 06:08 christophenouvel

Can you try v4.3.5? We reverted back to QEMU 7.2.0 so it would be interesting to see if QEMU is the issue.

osy avatar Aug 05 '23 00:08 osy

4.3.5 is Ok from a performance point of view. No noticeable gain, but hey : not worse than 4.2.5 and really better than 4.3.4.

christophenouvel avatar Aug 05 '23 07:08 christophenouvel

So it’s expected to be the same as 4.2.5. So basically you’re confirming that QEMU 8.0 was the problem?

osy avatar Aug 05 '23 07:08 osy

I confirm a performance problem between (including) 4.3.0 beta and 4.3.4, no such problem neither with 4.2.5 nor with 4.3.5.

christophenouvel avatar Aug 05 '23 17:08 christophenouvel

I confirm too, on ipad pro M1 , same performance problem between (including) 4.3.0 beta and 4.3.4.

git2wing avatar Aug 11 '23 16:08 git2wing

I upgraded from 4.2.5 to 4.3.5 and performance of Windows 11 X64 and Ubuntu 22.04 x64 is the same, i.e. not degraded. The Ubuntu VM was migrated from VirtualBox on an Intel Mac and the Windows 11 x64 is installed on UTM 4.2.5 on M1 Mac.

freebrowser1 avatar Aug 19 '23 18:08 freebrowser1

@osy Hoping that this could be useful for a recreate...

Running on an M1 Pro 16" MacBook Pro (macOS 14.2) using UTM 4.4.5 and qemu 8.1.3. utm-qemu.txt qemu.txt

2 CPUs, 2GB of ram. Forced MBR boot. Just let it sit on the boot menu. You'll notice in Activity Monitor that QEMULauncher pegs the CPU at 200%, whereas qemu should sit around 20%.

Once you tell each to load, you'll notice the CPU % for QEMULauncher go up to 300%, whereas qemu only goes up to 150%. As far as I can tell each are told to use 2 CPU cores and use the same acceleration.

https://github.com/utmapp/UTM/assets/11639639/c6dbd95f-8f58-48f6-9ced-41f8dcde0f35

It's not a complete one-to-one since I couldn't get homebrew qemu working with spice... but maybe it's something to work off of? I don't notice a significant difference in performance.

(Tribblix was just the only x86_64 ISO I had lying around ¯_(ツ)_/¯)

AwlsomeAlex avatar Dec 13 '23 15:12 AwlsomeAlex

I'm vaguely hoping 8.2.1 will fix the freeze issues I see regularly.

stuaxo avatar Feb 10 '24 13:02 stuaxo

Since this issue apparently specifically pertains to Windows guests, would it be possible to enhance UTM to select a major version of QEMU (7.x, 8.x, or 9.x) for each VM? This way, the advantages of the newer major QEMU versions could at least be made available for non-Windows guests, notably Linux guests.

volkert-fastned avatar Jun 12 '24 09:06 volkert-fastned