pan1268
Enthusiast
Enthusiast

hot remove cpu

Jump to solution

Hello Experts,

Need help to locate any official documentation which states hot remove of cpu on any vSphere version is not supported.

Cheers

 

0 Kudos
1 Solution

Accepted Solutions
Tibmeister
Expert
Expert

So, there's always been discussion around this, and supposedly Server 2016 and 2019 "support" CPU hot remove, but as far as I know that is only on Hyper-V, with it's dynamic allocation settings, not ESXi.  Honestly, I can't see that leading to anything good, as changing your NUMA node while a kernel is running would throw everything into a hot mess in regards to memory addressing and such.  I know Hyper-V does some, as they call it, magic to enable this.  What they are doing is making everything one large NUMA node and goofing with the way the CPU addressing is handled between client and host.  It really gives no benefit.  

I have to ask, why would you want to Hot-Remove a CPU anyway?  What would the practical purpose be?  Also, you realize even having Hot-Add enabled messes with vNUMA and causes a performance hit just by having it enabled?  Todd Muirhead wrote a wonderful article on this and references the proper KB's from VMware on this (https://blogs.vmware.com/performance/2019/12/cpu-hot-add-performance-vsphere67.html).  Take a gander over it.  Also, one thing I've also learned over the last two decades of using VMware is that the vCPU(s) of the VM is not tied to a particular pCPU (unless you've pinned it, in which case Dante is waiting) so it can run much harder than the equivalent pCPU as long as you don't have the VM oversized and don't have the host overloaded with too many oversized VMs (Co-Stop hell as I like to call it).

As for the direct answer to your question; they cannot list any and all features that are not supported/available.  The lack of documentation that officially states that CPU Hot-Remove is supported should be evidence enough that it is not supported.  Now if you are referring to that property of VirtualMachineConfigSpec called CpuHotRemoveEnabled that was found in the VISDK, if you try to run the code it will fail.  I'm pretty sure this property got added for some future use, but that has never come to light.  Funny that it is still in vSphere Web Services API v7.0 (https://code.vmware.com/apis/968).

$VMSpec=New-Object -Type VMware.Vim.VirtualMachineConfigSpec -Property @{"CpuHotRemoveEnabled" =  $true}
$VM = Get-VM SomeVM
$VM.ExtensionData.ReconfigVM_Task($VMSpec)

 

View solution in original post

8 Replies
firefoxchris
Enthusiast
Enthusiast

Hi @pan1268. I havent seen anything official and it may also depend on the guest OS too. Thread with some suggestions here:

https://communities.vmware.com/t5/VMware-vSphere-Discussions/It-s-possible-Memory-hot-remove-or-CPU/...

0 Kudos
pan1268
Enthusiast
Enthusiast

hi mate,

I saw that thread and when I check in my lab for rhel 7.5 on vsphere 6.7 - i do not see any option to hot remove cpu on VM edit settings. so in my view (may be i m wrong here) it is linux kernel which supports it but VMware vSphere ( all ) versions does not support cpu hot remove feature.

Any further help is appreciated.

cheers

 

 

0 Kudos
firefoxchris
Enthusiast
Enthusiast

I've not done it personally but if you have 'enable CPU hot add' enabled in the VM Settings, can you then actually add an additional CPU hardware and then remove it?

0 Kudos
firefoxchris
Enthusiast
Enthusiast

What im getting at is.. there isnt an 'Enable hot CPU remove' option in any version I dont think - but enabling hot-add may allow you to also remove one.

0 Kudos
pan1268
Enthusiast
Enthusiast

I just checked on Windows 2016 and RHEL 7.5 - cpu hot add enabled; i am able to increase the sockets but i am unable to remove the added socket.

0 Kudos
scott28tt
VMware Employee
VMware Employee

I don’t ever recall vSphere supporting hot remove of compute resources.

 


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog
0 Kudos
pan1268
Enthusiast
Enthusiast

Hi Scott,

Apparently, I came across the following articles and seems the CPU hot remove is possible with some option.

https://vmninja.wordpress.com/2017/03/07/cpuhotremoveenabled/

https://kb.vmware.com/s/article/2020993

Now I am not sure how can w enable this option in my VM edit settings. And, in case this is possible is it a good idea to enable CPU hot remove.

Any help will be appreciated.

Cheers

0 Kudos
Tibmeister
Expert
Expert

So, there's always been discussion around this, and supposedly Server 2016 and 2019 "support" CPU hot remove, but as far as I know that is only on Hyper-V, with it's dynamic allocation settings, not ESXi.  Honestly, I can't see that leading to anything good, as changing your NUMA node while a kernel is running would throw everything into a hot mess in regards to memory addressing and such.  I know Hyper-V does some, as they call it, magic to enable this.  What they are doing is making everything one large NUMA node and goofing with the way the CPU addressing is handled between client and host.  It really gives no benefit.  

I have to ask, why would you want to Hot-Remove a CPU anyway?  What would the practical purpose be?  Also, you realize even having Hot-Add enabled messes with vNUMA and causes a performance hit just by having it enabled?  Todd Muirhead wrote a wonderful article on this and references the proper KB's from VMware on this (https://blogs.vmware.com/performance/2019/12/cpu-hot-add-performance-vsphere67.html).  Take a gander over it.  Also, one thing I've also learned over the last two decades of using VMware is that the vCPU(s) of the VM is not tied to a particular pCPU (unless you've pinned it, in which case Dante is waiting) so it can run much harder than the equivalent pCPU as long as you don't have the VM oversized and don't have the host overloaded with too many oversized VMs (Co-Stop hell as I like to call it).

As for the direct answer to your question; they cannot list any and all features that are not supported/available.  The lack of documentation that officially states that CPU Hot-Remove is supported should be evidence enough that it is not supported.  Now if you are referring to that property of VirtualMachineConfigSpec called CpuHotRemoveEnabled that was found in the VISDK, if you try to run the code it will fail.  I'm pretty sure this property got added for some future use, but that has never come to light.  Funny that it is still in vSphere Web Services API v7.0 (https://code.vmware.com/apis/968).

$VMSpec=New-Object -Type VMware.Vim.VirtualMachineConfigSpec -Property @{"CpuHotRemoveEnabled" =  $true}
$VM = Get-VM SomeVM
$VM.ExtensionData.ReconfigVM_Task($VMSpec)