VM configuration screen showing maximum vCPUs and CPU topology options.
VM configuration screen showing maximum vCPUs and CPU topology options.
/content/eds-xenserver/blogs/authors/xihuan-yang
Xihuan Yang
2023-10-27T00:00:00.000Z
eds-xenserver:tags/engineering-blogs

64 vCPU support

XenServer 8 now supports up to 64 vCPUs. There are however some considerations to bear in mind.

OS capabilities and vendor limits

  1. OS

    1. Windows 10 (64-bit)
    2. Windows 11
    3. Windows Server 2016 (64-bit)
      Windows Server 2019 (64-bit)
      Windows Server 2022 (64-bit)
    4. Red Hat Enterprise Linux 7
      Oracle Linux 7
      CentOS 7
      Scientific Linux 7
    5. Red Hat Enterprise Linux 8
      Oracle Linux 8
      Rocky Linux 8
    6. Debian Bullseye 11
      Ubuntu Jammy Jellyfish 22.04
      Ubuntu Focal Fossa 20.04
      SUSE Linux Enterprise Desktop/Server 15 (64-bit)
      SUSE Linux Enterprise Server 12 SP5 (64-bit)
    7. Debian Buster 10
      Gooroom Platform 2.0
    8. Debian Buster 10
      Debian Bullseye 11
  2. Architecture

    1. x86-32
    2. x86-32
    3. x86-32
    4. x86-32
    5. x86-32
    6. x86-32
    7. x86-32
    8. x86-32
  3. CPU limit (maximum)

    1. Limit of 4 sockets and 1280 logical cores
    2. Limit of 4 sockets and 1280 logical cores
    3. Limit of 64 sockets and unlimited cores
    4. Tested Limit: 768
      Theoretical Limit: 5120
    5. Tested Limit: 768
      Theoretical Limit: 8192
    6. Theoretical Limit: 8192
    7. Theoretical Limit: 512
    8. Theoretical Limit: 32
  4. CPU limit (minimum)

    1. >=2 logical cores
    2. >=2 logical cores
    3. >=2 logical cores
  5. Comments

    1. Windows license has a 4 socket limit for Enterprise SKUs. Home Edition has a 1 socket limit and Pro Edition has a 2 socket limit.
    2. Windows license has a 4 socket limit for Enterprise SKUs. Home Edition has a 1 socket limit and Pro Edition has a 2 socket limit.
    3. Windows license has a 4 socket limit for Enterprise SKUs. Home Edition has a 1 socket limit and Pro Edition has a 2 socket limit.
    4. 32 bit Debian OS has a limit of 32 CPUs.

Examples of exceeding the supported CPU limits

If you exceed or fail to meet the supported CPU limits on a Linux or Windows guest OS, you may encounter the following issues.

Example 1: Exceeding the maximum vCPU limit on a Linux guest OS

For an x86-32 Debian 10 OS, if you set the  Maximum number of vCPUs  field to 40, the  Topology  field is set to 10 sockets with 4 cores per socket. This exceeds the 32 CPU limit and although the 32 vCPUs are listed, any excess CPUs are not displayed. Similarly, the number of cores per socket is displayed in the same way, however, the number of sockets is limited to only the supported numbers to ensure that the total vCPUs do not exceed 32.

# lscpu
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical, 48 bits virtual
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 8

Example 2: Exceeding the socket limit on a Windows guest OS

For an x86-64 Windows 10 OS, if you set the  Maximum number of vCPUs  field to 10, the  Topology  field is set to 5 sockets with 2 cores per socket. This exceeds the Windows license limit of 4 sockets for Enterprise SKUs. In your Windows guest, you will see only 4 sockets. Hence the total vCPUs number shown is 8.

Example 3: Failing to meet the minimum vCPU requirement on a Windows guest OS

For an x86-64 Windows 10 OS, if you set the  Maximum number of vCPUs  field to 1, the  Topology  field is set to 1 socket with 1 core per socket. This does not meet the minimum vCPU requirement of 2 CPUs and so XenCenter displays a warning to prompt you to select at least 2 vCPUs for your Windows guest.

How XenCenter calculates your vCPU topology

  1. In the  Maximum number of vCPUs field in XenCenter, you select an integer between  1 and 64.
  2. XenCenter breaks this number down into two integers: the number of sockets and the number of cores per socket. These numbers multiply together to make up the Maximum number of vCPUs.
  3. XenCenter calculates and displays the different topology configurations available to you in the  Topology  field.

Some topology configurations will not be available due to the following limits:

Example 1: Your host has 32 physical CPUs

The following command displays the host’s CPU information:

# xe host-cpu-info
cpu_count: 32
socket_count: 2
vendor: GenuineIntel

We can see that the host has 32 logical CPU cores and 2 sockets, therefore the number of cores per socket is limited to 16.

The  Maximum number of vCPUs  that you can select is from 1 to 64.

If you set the  Maximum number of vCPUs  field to 64, XenCenter displays a warning saying that the host only has 32 physical CPUs, but that you can still choose 64 vCPUs for the VM.

The  Topology  field in XenCenter displays the different topology configurations that you can select:

This table shows the different topology configurations calculated by XenCenter, and why some topology configurations are not available for you to select.

Sockets
Cores per socket
Is this option available to select in XenCenter?
Why is this option not available?
64
1
No
This option is not available as the socket number exceeds 16.
32
2
No
This option is not available as the socket number exceeds 16.
16
4
Yes
8
8
Yes
4
16
Yes
2
32
No
This option is not available as the socket number exceeds 16.
1
64
No
This option is not available as the socket number exceeds 16.

Example 2: Your host has >= 64 physical CPUs

The following command displays the host’s CPU information:

# xe host-cpu-info
cpu_count: 256
socket_count: 2
vendor: AuthenticAMD

We can see that the host has 256 logical CPU cores and 2 sockets, therefore the number of cores per socket is limited to 128.

The  Maximum number of vCPUs  that you can select is from 1 to 64.

If you set the  Maximum number of vCPUs  field to 64, XenCenter displays a security warning saying that you have selected more than 32 vCPUs, but that you can still choose 64 vCPUs for the VM.

The  Topology  field in XenCenter displays the different topology configurations that you can select:

This table shows the different topology configurations calculated by XenCenter, and why some topology configurations are not available for you to select.

Sockets
Cores per socket
Is this option available to select in XenCenter?
Why is this option not available?
64
1
No
This option is not available as the socket number exceeds 16.
32
2
No
This option is not available as the socket number exceeds 16.
16
4
Yes
8
8
Yes
4
16
Yes
2
32
Yes
1
64
Yes