Very slow VMs (mostly)

paulstelian97

Member
Sep 21, 2022
4
0
6
Hello there, I'm having some trouble on my new hardware (i5-14600K -- Raptor Lake Refresh; an ASUS motherboard with B760 chipset) with many of my VMs being very slow.

Windows XP, Windows Vista, unusably slow.

An old Arch Linux VM, takes a long ass time to install updates, but is otherwise _kinda_ responsive.

Windows 11 with SR-IOV: The only actually good VM.

I have not a damn clue what can cause this slowness.

Host is on btrfs. Hopefully this isn't the reason but it's just something to mention. How can I figure out if _that's_ the reason?
 
BTFRS being copy on write can be slow and problematic as far as i know, especially if you have any of the compression options enabled. It is in my opinion not a good option for a VM disk, many small writes can cause loss of data / partition failure. (In my experience)

I usually opt for XFS, but EXT4 will also be a good bet if you have a single drive setup for VMs.

A few basic things you can do / double check:

I usually use a NVME drive or ssd for swap/pagefiles, i have found putting them on a separate disk helps performance quite a bit.

Proxmox seems to not handle I/O that well (especially in windows, better in linux) and adding pagefile or swap to the same disk / virtual disk seems to really create a bottleneck and the system becomes painfully slow in my experience.

Set cpu type to host

Enable GPU somehow, such is VirGL, vGPU or something else, most vms work decently but to get really good speed you are going to want 3D acceleration of some kind.

Beyond that you can double check your disk settings, disk controller, for the virtual disks themselves try io_thread, writeback cache (if direct/no cache is slow)

Make sure you have IMMOU enabled

Eliminate any excess I/O stress in virtual machines, especially for windows 10+ anyways, things like core isolation, defender and unnecessary bloat apps.
 
Last edited:
I have noticed something on my system:

* Install Windows XP x64 on my Mac (UTM, emulated). Funny enough that was faster than Proxmox (and more reliable too)
* Copy the qcow and import into the very same machine I’d use to set up manually.

That thing boots in less than 2 seconds. I have never seen Windows XP boot that fast.

So something fishy is going on in the installer perhaps?

I can try disabling the E cores. Though I’m not sure it’s their fault. I have disabled split lock detection since it was tripping, because I thought it was relevant (and since my machines aren’t publicly accessible servers I guess it’s an acceptable security risk)

Everything is on an NVMe which promises some 6000+ MB/s speeds both read and write. Except the NAS disks which are some additional HDDs, but those shouldn’t be relevant in this situation especially if the NAS VM is shut down.
 
Last edited:
in my experience other hypervisors seem to be more performative. proxmox just has better features and a better webui, is open source, etc. proxmox is getting better with each version though, it will catch up.

not sure if E cores would effect these issues you are having, could be worth a try for sure but i do not think that would effect low requirement VMs like xp especially.

i would definitely avoid BTRFS or ZFS on NVME, it will eat your drive pretty fast being copy on write and since logs, etc are many small file changes, it not only will double wear on the drive (which consumer SSDs do not have a lot of) but there is also the fact too small file writes are counted as a block still, so tons of very small writes will massively increase wear and the fact BTRFS tends to become unstable with tons of small file writes happening in excess.

you could also try enabling huge pages or of course giving more cores/memory to the vm if you haven't tried that yet. i usually just give access to all cores and apply the CPU limit if necessary. but i do not run many VMs at once, usually 1-2 with a few LXCs
 
I have found out one possibility of what was wrong. It was the VM configuration. For some dumb reason I was always switching them to q35 without understanding what it did (mainly, the fact that older OSes aren't compatible with the motherboard).

Genuine facepalm moment. I've only found out when comparing the Proxmox-made VM and the UTM-made one that the latter did not do q35.

My SSD is a Lexar NM790. They claim 1000 TBW for my 1TB model.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!