How many cores per numa node on a Xeon E5-2430?

Posted on 2014-09-02
Last Modified: 2014-09-08
Hey guys,

 I have a server with two processors.  They are listed as:

Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz (6 Cores)

I have to size a virtual SQL server on esxi 5.5 and need to match the cpus to the number of cores per NUMA node.

My question is, how many cores would equal one numa node in the above configuration?  I would prefer not to give a virtual server all 12 cores if one numa node is 6 or less.

The servers have 192 GB of memory in them if that matters in the calculation.

Question by:Joel Parmer
    LVL 55

    Accepted Solution

    Each CPU is a NUMA node since the memory controller is on the process or die. Your CPUs have 6 cores each so there are 6 cores per NUMA node, however if you have hyper-threading turned on you have 12 virtual cores per CPU and therefore 12 virtual cores per NUMA node.

    Running this under VMware though may well compromise performance severely, since VMware time-slices a VM's use of a core so that other VMs can run on it too SQL will not have dedicated access to any given core. If you specify 12 cores for the VM SQL will only be given access when 12 cores are available and not in use by other VMs.

    You should really ask this in the SQL topic area, you may be able to add it since you only have two selected so far. What document are you following for your design?

    Author Comment

    by:Joel Parmer

    We were having huge performance issues with CPU on a virtual SQL server that had 2 cores assigned to it. One of the other engineers here did some research on it while I was out and found a known issue with virtualized sql and NUMA.  He went and gave the virtual server all 12 cores of the host so that the sql cpu matched the numa node.

    Needless to say this isn't the best solution for the reasons you stated above, so I am trying to resolve it properly.

    I am pretty sure that hyperthreading is turned on for the host hardware.  Is there an issue with esxi if you turn hyperthreading off on the host?  WIll that require a reinstall of the esxi OS?
    LVL 55

    Expert Comment

    You are referring to this from the SQL on VMware best practices?

    1. For small SQL Server virtual machines, allocate virtual machine CPUs equal to or less than the number of cores in each physical NUMA node.
    2. For wide SQL Server virtual machines, size virtual machine CPUs to align with physical NUMA boundaries. Configure vNUMA to enable SQL Server NUMA optimization to take advantage of managing memory locality.


    1 means give it less cores than one CPU has to offer so that it only uses one CPU for the SQL VM. NUMA doesn't get involved since the SQL runs on one CPU plus RAM that is local to that CPU - best option if you want to give SQL 4 cores for example.

    2. means give it (in your case) an even number of cores greater than a single processor but less than the total and let vNUMA tell SQL about where the physical CPUs are. Best option if you want to give it 8 cores assuming hyper-threading is off, VMware will give SQL 4 cores on each processor and tell SQL about the underlying architecture.

    If you give it more cores than there are on a single CPU without enabling vNUMA then SQL doesn't know about memory locality and runs threads on CPU1 with the associated RAM on CPU2. - very poor memory performance since everything has to go over the QPI bus.

    Best option for the big stuff - don't virtualize it but that's expensive.

    Author Comment

    by:Joel Parmer
    Hey Andy,

    In the Performance Best Practices for VMware vSphere 5.5, on page 44 one of their recommendations was stated below:

    Size your virtual machines so they align with physical NUMA boundaries. For example, if you have a host
    system with six cores per NUMA node, size your virtual machines with a multiple of six vCPUs (i.e., 6
    vCPUs, 12 vCPUs, 18 vCPUs, 24 vCPUs, and so on).

    My question is if I assign a SQL server 2 vcpus (on one core) and change the numa.vcpu.min=2, will that allow the server to use NUMA technology and resolve the weird CPU load on the guest we were having, even though it's less cores than the NUMA node?
    LVL 55

    Expert Comment

    How much RAM have you allocated to the SQL VM?

    Author Comment

    by:Joel Parmer
    24 GB

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    Suggested Solutions

    Hyper-convergence systems have taken the IT world by storm and have quickly started to change our point of view of how the data center should and could be architected. In this article, I’ll explain the benefits of employing a hyper-converged system …
    Communication between departments might not happen in two different languages, but they do exist in two different worlds. With different targets and performance goals the same phrase often means something completely different to each party. Learn ho…
    This video discusses moving either the default database or any database to a new volume.
    Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

    737 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

    16 Experts available now in Live!

    Get 1:1 Help Now