[SOLVED] disk settings for specific setup

Elleni

Well-Known Member
Jul 6, 2020
207
11
58
52
I have a laptop with ext4 filesystem and installed proxmox ontop of debian. The disk is encrypted with luks.

On the hypervisor there will run 1 win11 client and maybe 2 or 3 other linux based vms.

As its an older laptop, and only has 32GB ram, from which the windows vm will have assigned 16 gb there are not many ressources free. The disk is a single nvme of half a tb.

What settings for the windows vm would be recommended to have a good performance specifically on the windows vm ? (virtio block, or virtio scsi? cache, iothread, async io, raw or qcow2 disk).

Also which services - used for zfs before - can be deactivated as they are unneeded for now, thus not eating any performance?
 
Last edited:
Thanks - I went with Virtio SCSI and IO Thread. I cannot start the vm with native thus I'll have to chose Async IO: io_uring or threads. I have to check/find out, which one does not create freezes while high load on IO and generally performs better. What can be the reason why native doesnt let the vm boot, or isnt native recommended anyway?

We use qcow2 for now for being able to create snapshots.

What about balooning on windows client. Is it still recommended to not activate it on windows installations? I am asking as ram is only 32 gb and the vm needs about half of it to run smoothly, so ram is a bottleneck in this scenario.
 
Last edited:
For windows you want to read: https://pve.proxmox.com/wiki/Windows_11_guest_best_practices

I'm not quite sure what you want to achieve? Are you planning to continue to use the notebook as a kind of workstation (like described in https://pve.proxmox.com/wiki/Developer_Workstations_with_Proxmox_VE_and_X11 ) and just some vms for yourself? Then I would consider whether something like Virtualbox or virt-manager might be better suited for your usecase. Or do you want ot use it as a homeserver? Then you will safe most ressources by directly installing ProxmoxVE thus not keeping any overhead from your previous debian system (of course: Always backup important data before reinstalling the OS!) Or do you want to use it in a business? Even in a small business I would consider such a setup not ready for production (a POC might be fine) but look for dedicated server hardware.
 
Will do next week - reading the best practices article - thanks for that one.

Yes, we plan to equip our developpers with laptops with Proxmox on debian with X11. Until now they were running vms on vmware workstation installed on win11 on this laptops. While we also start replacing esxi servers with proxmox servers, we want the devs to be able to run some vms locally. The users shall not have root or sudo on these laptops, so they cannot change network configuration or other system stuff. Networking for example we want to limit them in bridged mode, and disallow any sort of routing and nat.

We prefer not to give them kvm virt-manager or vbox but thought, the administration by proxmox webinterface seems smoother and firewall and much more is fully integrated. Also they will be able to "pull" vms from the servers to their laptops.
 
  • Like
Reactions: Johannes S
The host has an elder Quadcore intel 8 x Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz (1 Socket)

ProxMox apparently shows the threads under cpu in the summary page.

Question: I plan to give the win vm the most possible ressources, meaning I would like to attach all 8 vcores to it and limit the usage of them to 80% by setting cpulimit.

What cpu limit would I have to set in that case? Although I read the documentation I am still uncertain because, I realize if I set 1 socket 4 cores, then I cannot set 8 vcores but no more than the 4 cores set in cpu. So I went on and set 1 socket 8 cores 8 vcores.

Is it correct that cpulimit of 8.0 would mean 100 % of the cpu resources thus setting 7.0 would give the vm approximatelly 90% of the total cpu, or 6.0 would correspond to 75% or am I wrong in my assumptions here?

Or should I simply keep about 1 vcore for the host thus assign 7 vcores to the winvm?
 
Giving a large share of resources to a single VM will increase latency and has been known to cause stutters. There are several threads about that on this forum.

Don't count hyper-threads as real cores as they do not give you twice the processing power; it's more like 5%-15%. If you disable hyper-threading, each core will have twice the cache and might perform better in some situations. Or keep the hyper-threads as a buffer to prevent latency spikes (and run various emulation tasks) and don't assign them to VMs.

It's a good idea to keep two cores for Proxmox but since you only have 4 cores, maybe you can get by with one (and the hyper-threads). My advice woudl be to give the Windows VM only (1 socket with) 3 cores.
 
Last edited: