VM amounts in an esxi host.

Posted on 2014-08-25
Last Modified: 2014-09-01
I am trying to find out how many vms an esxi host can host based on its physical CPU?
Is there any equation for it?
For an example, an esxi host has 2 CPU with 12 cores each, this means that the esxi will have 48 logical processors.
I might configure vm with 4 vcpu and 8 vcpu etc.
Do I have to take vCPUs amount into account when I install VMS? that is, number of vCPU on all VMs should not exceed to 48?
Question by:sara2000
    LVL 116

    Accepted Solution

    We work on a rule of thumb of 5-6 VMs per Core. (assuming single vCPU per VM)

    You do not have to worry about exceeding the allocation of 48 vCPUs, because the hypervisor time slices the CPU in the host, a VM does not have exclusive access to a core, all cores are shared by all VMs.

    I've not seen an equation, if you want to do this scientifically, you could use the following VMware Benchmark Tool

    You are unlikely to run out of vCPUs and CPU performance, because you will run out of memory first!

    Memory is often the bottle neck, not CPU.

    Careful on the allocation of vCPU (sockets) to VMs, e.g. 4 and 8, sometimes does not make them faster but slower.....

    Start with a single vCPU, and increase by testing checking performance. Very few VMs require more than 1 or 2.

    vSMP (virtual SMP) can affect virtual machine performance, when adding too many vCPUs to virtual machines that cannot use the vCPUs effectly, e.g. Servers than can use vSMP correctly :- SQL Server, Exchange Server.

    This is true, many VMware Administrators, think adding lots of processors, will increase performance - wrong! (and because they can, they just go silly!). Sometimes there is confusion between cores and processors. But what we are adding is additional processors in the virtual machine.

    So 4 vCPU, to the VM is a 4 Way SMP (Quad Processor Server), if you have Enterprise Plus license you can add 8, (and only if you have the correct OS License will the OS recognise them all).

    If applications, can take advantage e.g. Exchange, SQL, adding additional processors, can/may increase performance.

    So usual rule of thumb is try 1 vCPU, then try 2 vCPU, knock back to 1 vCPU if performance is affected. and only use vSMP if the VM can take advantage.

    Example, VM with 4 vCPUs allocated!

    My simple laymans explaination of the "scheduler!"

    As you have assigned 4 vCPUs, to this VM, the VMware scheulder, has to wait until 4 cores are free and available, to do this, it has to pause the first cores, until the 4th is available, during this timeframe, the paused cores are not available for processes, this is my simplistic view, but bottom line is adding more vCPUs to a VM, may not give you the performance benefits you think, unless the VM, it's applications are optimised for additional vCPUs.

    See here

    see here

    also there is a document here about the CPU scheduler
    LVL 61

    Assisted Solution

    You need to examine "configuration maximums" document for your VMWare version
    It is anywhere between 10 and 64 vCPUs per CORE (hyperthread is 0 cores)

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    Join & Write a Comment

    I have recently deployed a VMware View 4.6 virtual desktop infrastructure and the last part of the project was to install the Security Server for remote users to access a virtual desktop from outside of the network. The server installation was st…
    Beacon probing is a configurable network failure detection mechanism used by ESX to identify downstream network failures. The purpose of this article is to explain some of the mystery and clarify a commonly misunderstood subject. The information in …
    Teach the user how to rename, unmount, delete and upgrade VMFS datastores. Open vSphere Web Client: Rename VMFS and NFS datastores: Upgrade VMFS-3 volume to VMFS-5: Unmount VMFS datastore: Delete a VMFS datastore:
    Teach the user how to configure vSphere Replication and how to protect and recover VMs Open vSphere Web Client: Verify vsphere Replication is enabled: Enable vSphere Replication for a virtual machine: Verify replicated VM is created: Recover replica…

    732 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    19 Experts available now in Live!

    Get 1:1 Help Now