Windows 10 vs Windows 11 performance

Hello community,

I recently created a lxc vm for windows 10 on my debian system and i’d say it runs pretty well, but there is a bit of latency that i’d like to remove if possible (my pc is not that recent so i won’t complain if it’s not possible).

My question is: has everyone tried both windows 10 and windows 11 and can say if one runs more smooth than the other? Maybe thanks to a better compatibility.

I followed this guide to install windows 10, without adding TMP because it is not required for windows 10 and i installed virtio-win-guest-tools after:

Thanks.

Welcome!

This forum has switched to supporting Incus, which is a continuation of LXD. See how to migrate to Incus.

There are several details in running efficiently Windows VMs in Incus. See How to run a Windows virtual machine on Incus on Linux – Mi blog lah! for more details.

Oh didn’t know about Incus. I’ll learn about it more asap.

It has better performance than lxd? And can i still ask if should i virtualize Windows 10 or Windows 11 using incus? Are there any really difference in performance between those?

I’d would just opt for Windows 11 on the basis that it’s scheduler is getting new updates compared to Windows 10 which is effectively, or close to it, EOL.

This matters because iirc, Incus configures Qemu to do host CPU model passthrough.

I would take a look at your disk topology as well as I find that to be one of the big sources of latency.

Can you please explain better what do you mean with “disk topology”?

Sorry but i went back to linux and learned about lxc and vm just 1 week ago.

Before answering that, are you using any form of RAID? Such as ZFS or mdraid?

If yes, then what I mean is that how your disks are laid out can greatly affect how the overall pool performs in random read and writes or sequential reads and writes.

If not, then I would try to see if you could dedicate a single disk to your VM whether that is by Qemu disk passthrough or passing through an NVMe drive using regular PCI passthrough in the Incus documentation

EDIT: and specifically for ZFS, lots of RAM is usually the number one recommendation as it increases the size of ZFS’s adaptive replacement cache.

I don’t think i’m using RAID type as i used the standard procedure to create the container.

Yes probably dedicating a physical partition would an improvement.
I created the lxc container with:

lxc init win10 --vm --empty
lxc config device override win11 root size=50GiB
lxc config set win11 limits.cpu=4 limits.memory=8GiB

So if create a NTFS partition with gparted what command should i use to associate it to the container? (It’s ok if i have to create a new container instead of editing my actual one)

I don’t think i’m using RAID type as i used the standard procedure to create the container.

RAID would be a property of your storage pool, I assume you just went the incus admin init with the defaults? If so then it should be either a dir or Btrfs depending on your distribution. This then relates to how you installed your machine, but based on the responses you probably didn’t configure RAID (mdadm or Btrfs).

So if create a NTFS partition with gparted what command should i use to associate it to the container? (It’s ok if i have to create a new container instead of editing my actual one)

No, I meant dedicated a physical disk in its entirety. If you don’t one, then I would just let Incus manage storage instead.

The reason why a dedicated disk would be better is that the VM wouldn’t be competing with the host for resources, specifically IOPS. If you have an SSD then you can get by with it both the VM and host using the same disk, but with a hard drive it gets expensive because there is a physical cost involved related to the platter spinning and the actuator reading specific tracks on the disk.

But I should have prefaced earlier that this is mainly hypothetical, you should do some benchmarking in the VM to see where the bottleneck/cause of latency really lies.

Yes, at moment i don’t have an entire disk to dedicate to the vm and i’m still using an hard drive and not a SSD.

I suppose the only thing i can do is try to install Windows 11 over Windows 10 and see if runs more smoothly, if not i’ll just wait until i get a new computer.

One last question is: Does incus have better performance than lxd or it doesn’t change nothing in matter than performance?

Thanks for all the helps and clarifications folks.

I would look at that question in the context of which offers support for the most recent Qemu instead. Incus and LXD only configure Qemu for running VMs.

Both Incus and LXD support Qemu 9.2 (and with which, I assume versions newer such as Qemu 10.0). However looking at LXD’s Git repository, they cherry picked commits from Incus [1]. So looking at that in a vacuum, I would go with Incus for being the upstream for Qemu improvements (ignoring my personal distaste for Canonical for the stunt they tried to pull as noted in the Incus announcement page).

[1] Support Qemu 9.2 · Issue #14916 · canonical/lxd · GitHub

I see. Then i’ll wait few more months for the next debian release, which will have incus in the official repository and i’ll switch to incus.

Thanks again.

You can use the Zabbly repositories to get Incus: GitHub - zabbly/incus: Incus package repository

For context, @stgraber is the owner of Zabbly (a company incorportaed in Quebec, Canada iirc) and offers repositories for the latest kernels and ZFS kernel modules for Debian and Debian-based distributions

1 Like