Any known downsides for using cpu/memory hotplugging?

jsterr

Famous Member
Jul 24, 2020
874
257
108
34
Hello! :-)

are there any known downsides for using cpu/memory hotplugging? Like performance impacts, stability issues?

Greetings
Jonas
 
Most applications don’t “understand” the concept of growing or shrinking memory or CPU cores, an OS like Windows for example won’t see the new hardware until reboot making it moot. Linux kernel is fine with it, but the application may not be able to leverage it without restarting.

For most it’s a bit of a gimmick. You can’t hot unplug CPU, some applications may have undocumented or unexpected behavior when total memory changes without restart.

I believe this is intended to emulate other platforms like mainframes where hot plugging and live migration is designed into the OS and application stack. For your garden variety Linux or Windows systems, rebooting is still expected.

In most cases the better way is to go at it in reverse. Assign the maximum amount of CPU and memory, then use the vCPU cycle limits and memory balloons to limit the amount of resources it can access.
 
We're using CPU and memory hotAdd on vmware since 10+ years without problems on any OS (Windows has no problems recognizing the changed hardware). Now while moving to PVE we're also asking us why it is disabled by default and whether there are downsides in enabling it for all VMs.
(mind I'm just talking about adding/growing, never had the issue that a customer suddenly wanted less resources...)
 
Last edited:
Here is what VMware says about it:
https://blogs.vmware.com/cloud-foun...add-for-windows-vms-how-badly-do-you-want-it/

It works on Linux. If your application supports it is another issue. NUMA balancing may be an issue. Windows Server (not client) “supports” it but even MSSQL doesn’t really and will spike CPU usage.

This is not a platform limitation, your guest needs to be able to handle it and most applications don’t expect it.
 
  • Like
Reactions: jtru