how to assign vCPU and memory on virtual machines on VMware vSphere?
-
Dear Team,
In our customer has two vMware host server with cluster, HA. each host have 48 vcPU.
But, they are assigned total vCPU to all virtual machines is 61vCPUs on one VMware ESXi server and 64vCPUs on second VMware ESXi server. it is best praticies ? it will cause any CPU Contention in future ? Please guide me , how to size the VMware infraThanks
ghani -
Over allocating CPU's is fine, so long as you aren't maxing out the CPU. In terms of how to check this, you simply have to look at the hardware servers and see how it is performing by looking at the performance tab.
-
@ghani Assuming each host is running, that likely will not be an issue. If one host goes down, they will likely have huge contention issues. You'd have to expect that with a single 48 cpu cores assigned 125 virtual cores.
Without seeing any statistics on performance, I'd say they're ok currently. They could probably downsize the number of cpu cores assigned to many of the virtual machines if they do start running into cpu contention issues.
-
No problems based on what you've told. If the CPUs are overloaded and the VMs are too slow, then that is a problem. But having more vCPU than physical cores or thread engines is just fine and a key part of how virtualization can save money through efficient consolidation.
-
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@ghani Assuming each host is running, that likely will not be an issue. If one host goes down, they will likely have huge contention issues. You'd have to expect that with a single 48 cpu cores assigned 125 virtual cores.
Without seeing any statistics on performance, I'd say they're ok currently. They could probably downsize the number of cpu cores assigned to many of the virtual machines if they do start running into cpu contention issues.
Even then for typical workloads would be just fine.
-
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@ghani Assuming each host is running, that likely will not be an issue. If one host goes down, they will likely have huge contention issues. You'd have to expect that with a single 48 cpu cores assigned 125 virtual cores.
Without seeing any statistics on performance, I'd say they're ok currently. They could probably downsize the number of cpu cores assigned to many of the virtual machines if they do start running into cpu contention issues.
Even then for typical workloads would be just fine.
True, people (me included), do tend to assign way more vcpu than actually needed.
I think the answer to this question is: no, but I'll ask anyway. Is there a good standard with the over provisioning of cpu in virtual environments? (IE: 2.6:1 like we'd see in a server failure here.)
-
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@ghani Assuming each host is running, that likely will not be an issue. If one host goes down, they will likely have huge contention issues. You'd have to expect that with a single 48 cpu cores assigned 125 virtual cores.
Without seeing any statistics on performance, I'd say they're ok currently. They could probably downsize the number of cpu cores assigned to many of the virtual machines if they do start running into cpu contention issues.
Even then for typical workloads would be just fine.
True, people (me included), do tend to assign way more vcpu than actually needed.
I think the answer to this question is: no, but I'll ask anyway. Is there a good standard with the over provisioning of cpu in virtual environments? (IE: 2.6:1 like we'd see in a server failure here.)
I have a feeling that even 4:1 isn't too bad in most cases.
-
It comes down to how much the machines are used. If all of your CPU usage would be below 10% and you have ten to one over subscription, you are still within the 100% mark. In which case you have just barely enough CPU to handle your vCPUs.
-
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@ghani Assuming each host is running, that likely will not be an issue. If one host goes down, they will likely have huge contention issues. You'd have to expect that with a single 48 cpu cores assigned 125 virtual cores.
Without seeing any statistics on performance, I'd say they're ok currently. They could probably downsize the number of cpu cores assigned to many of the virtual machines if they do start running into cpu contention issues.
Even then for typical workloads would be just fine.
True, people (me included), do tend to assign way more vcpu than actually needed.
I think the answer to this question is: no, but I'll ask anyway. Is there a good standard with the over provisioning of cpu in virtual environments? (IE: 2.6:1 like we'd see in a server failure here.)
I have a feeling that even 4:1 isn't too bad in most cases.
we are currently at 8:1
-
@matteo-nunziati said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@travisdh1 said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@ghani Assuming each host is running, that likely will not be an issue. If one host goes down, they will likely have huge contention issues. You'd have to expect that with a single 48 cpu cores assigned 125 virtual cores.
Without seeing any statistics on performance, I'd say they're ok currently. They could probably downsize the number of cpu cores assigned to many of the virtual machines if they do start running into cpu contention issues.
Even then for typical workloads would be just fine.
True, people (me included), do tend to assign way more vcpu than actually needed.
I think the answer to this question is: no, but I'll ask anyway. Is there a good standard with the over provisioning of cpu in virtual environments? (IE: 2.6:1 like we'd see in a server failure here.)
I have a feeling that even 4:1 isn't too bad in most cases.
we are currently at 8:1
That seems pretty reasonable..
-
@reid-cooper said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
ou are still within the 100% ma
Based on all your discussion, more vCPU assigned than physical cores is not an issue. It's pretty ok. In my customer, sometimes facing more CPU usage caused slow performance. How to provide the solutions for this issue? CPU contention is not consistent. In both host server, they are running 12 VMs with 125vCPUs instead of 96vCPUs.
-
@ghani said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@reid-cooper said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
ou are still within the 100% ma
Based on all your discussion, more vCPU assigned than physical cores is not an issue. It's pretty ok. In my customer, sometimes facing more CPU usage caused slow performance. How to provide the solutions for this issue? CPU contention is not consistent. In both host server, they are running 12 VMs with 125vCPUs instead of 96vCPUs.
Check you CPU usage. Oversubsription isn't an issue. But overuse is.
-
@scottalanmiller said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@ghani said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
@reid-cooper said in how to assign vCPU and memory on virtual machines on VMware vSphere?:
ou are still within the 100% ma
Based on all your discussion, more vCPU assigned than physical cores is not an issue. It's pretty ok. In my customer, sometimes facing more CPU usage caused slow performance. How to provide the solutions for this issue? CPU contention is not consistent. In both host server, they are running 12 VMs with 125vCPUs instead of 96vCPUs.
Check you CPU usage. Oversubsription isn't an issue. But overuse is.
Exactly - you fix this by logging and finding out what your real usage is, then building a solution that gives you the desired result.
Also, it's very likely that vCPU numbers have very little to do with this. It's simply use by the VMs.
Currently your only solution is to reduce the number of VMs on that host or install more CPU power into the server.
-
If your VMs are showing low CPU usage, you can actually cut down the number of cores that the VM has. I can't recall ever seeing a VM that needed more than 2 cores to operate smoothly, except for things like SQL Server or data analysis.
-
Here is a nice document https://communities.vmware.com/servlet/JiveServlet/previewBody/21181-102-1-28328/vsphere-oversubscription-best-practices[1].pdf that might bring some more light on the question
-
Thanx to all .... i will analysis the VMware infra to reduce the vCPU on VMs.