real-time CPU&RAM allocation to VM running in foreground?

iproxmox

New Member
Sep 13, 2019
15
0
1
51
Hi,
I'm running 2 VMs simultaneously, MacOS and Windows on a i-9900k (8 cores) with 32 gigs of RAM. I tried to find the optimal settings to allocate maximum cores and RAM to both. For the moment, I split 4 CPUs to one VM and 3 to the other (leaving one for px), and am playing around with optimal RAM allocation, but I'm always getting communication errors when launching the second VM...
Is there a way when switching from one VM to the other to do some sort of real-time maximum CPU&RAM allocation to it, without stopping the other VM totally ?
 
I split 4 CPUs to one VM and 3 to the other (leaving one for px),

Linux (and therefore Proxmox VE) does not work that way. You can assign 4 cores to each VM and it'll work just fine - even with 16 cores (the 9900K has 8 cores and additional 8 threads as a total of 16 threads) . You only run into "slowliness" if all virtual cores are used 100%, but it'll work nonetheless. We run hundreds of VMs (with multiple cores) on only 96 cores. That's the great benefit of virtualization.

Is there a way when switching from one VM to the other to do some sort of real-time maximum CPU&RAM allocation to it, without stopping the other VM totally ?

Yes, ballooning, but can be tricky.

In general, I would recommend putting more memory in. I switched from desktop processors to server processors for my home computer (now it's called workstation) in which you can have multiple cpus with even more cores, much more memory and in the end I spend less than my now old'ish i6700K cost when I bought it new, the workstation is built just by used parts.
 
even with 16 cores (the 9900K has 8 cores and additional 8 threads as a total of 16 threads) .
If i read u well, px actually considers the 16 threads of the 9900k as 'cores'? So i could assign 16 cores (on one socket) to each VM?
Yes, ballooning, but can be tricky.
Ok, followed the link(s), but i see drivers are only available for windows. No MacOs drivers available i guess, but maybe it's enough if i install those drivers on the windows VM only ?
For px to run properly, must i allocate a minimum of RAM to the host itself and if yes, how much ?
With the ballooning installed, can i still allocate maximum available RAM to each VM (minus maybe the vital minimum for px) without running into problems?
I switched from desktop processors to server processors for my home computer (now it's called workstation) in which you can have multiple cpus with even more cores, much more memory and in the end I spend less than my now old'ish i6700K cost when I bought it new, the workstation is built just by used parts.
Interesting, hadn't thought of that option, but aren't (Intel Xeon) CPUs a lot more expensive than desktop CPUs? That also means I'll have to change my mobo right? Any configuration suggestions ?
 
Last edited:
If i read u well, px actually considers the 16 threads of the 9900k as 'cores'? So i could assign 16 cores (on one socket) to each VM?

Every OS does that and schedules processes on the threads, so yes. You can assign 16 cores to the VM, but do you have problems that need 16 cores on a VM? Just "I want" is not enough to do that. You know that your CPU does actually run much faster if you use less cores in general? That's the turbo mode.

With the ballooning installed, can i still allocate maximum available RAM to each VM (minus maybe the vital minimum for px) without running into problems?

You have to try. If the system runs out of memory, it swappes to disk, so everything will be slow. I do not use it, we normally don't maximize stuff, it's not why virtualization is used.

I still don't get why you just use dual-boot to boot Windows and MacOS. It's the easiest method and uses all your resources, is simpler to setup, maintain and yields the best performance.

Interesting, hadn't thought of that option, but aren't (Intel Xeon) CPUs a lot more expensive than desktop CPUs? That also means I'll have to change my mobo right? Any configuration suggestions ?

Yes, mainboard, CPU and RAM need to change. What you need depends on your problem you want to solve. A used 5600 series XEON system (dual CPU, total of 12 cores, 24 threads) including e.g. 256 GB-RAM costs on ebay less than 500 USD and is therefore cheaper than your 9900k alone. Sure it's not comparable in speed on single thread performance, the 9900k is much newer, but if you have a parallelizable workload, the old xeons outperform it anyway and you have a butt load of memory available. Those xeons were e.g. used in the mac pros. Used server hardware is very cheap and still good for most use cases.
 
That's the turbo mode.
any settings in px to manually set this (or should this simply be done in the bios)? I already OCed the cores to 5 Ghz...

I still don't get why you just use dual-boot to boot Windows and MacOS. It's the easiest method and uses all your resources, is simpler to setup, maintain and yields the best performance.
because i need to be able to use windows and macOS simultaneously (i have two monitors), while dual booting only allows me to use one OS at once, going through the hassle of reopening everything from the previous session. Unless you're talking about a different kind of dual-boot in px i don't know about. Feel free to elaborate.

Used server hardware is very cheap and still good for most use cases.
will give that a thought. Thanks
 
Last edited:

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!