VMware Cloud Community
arsenyco
Contributor
Contributor

Unable to Set Proper CPU Reservation with High Latency Sensitivity

Hi!

I'm trying to setup a VM with high latency sensitivity.

My host runs ESXi 6.7 on Intel Xeon CPU E5-1650 3.2 GHz, it has 6 cores and HT enabled, so 12 logical cores.

The goal is to set up new VM with 8 cores (8 logical cores) there.

All other VMs on this host have no CPU reservations.

Total amount of assigned cores to other VMs is 4.

CPU affinity is not set anywhere.

The problem is that I'm unable to set more than 4 cores to High Latency Sensitivity VM.

Here is what I tried:

1) Powering on a VM configured with 8 cores and no CPU reservation.

Failed - Invalid CPU reservation for the latency-sensitive VM. Need full CPU reservation: 25600 MHz (measured) or nominal processor frequency.

It clearly comes from 8 * 3200 = 25600 so it seems reasonable and exactly what I expected after reading VMware Resource Management Guide.

"OK!", I thought.

2) Setting CPU reservation to 25600 MHz only to discover that I'm unable to set it as I have only 19200 MHz available for reservation.

That seems to come from 6 * 3200 = 19200 and that is unexpected.

Even if I set 25600 MHz reservation in .vmx file I still unable to power on a VM with an error:

Failed - The amount of CPU resource available in the parent resource pool is insufficient for the operation.

HT cores are not counted in host CPU resource pool?

3) Powering on a VM configured with 8 cores and 19200 MHz or any other less than 25600 MHz CPU reservation (16000, 12800 etc) .

The error is the same as in attempt #1.

It wants reservation to be set exactly to number_of_cores * nominal_processor_frequency.

Setting affinity explicitly choosing HT cores did not change anything.

So HT cores are counted.

4) Powering on a VM configured with 6 cores and 19200 MHz CPU reservation

Failed - The amount of CPU resource available in the parent resource pool is insufficient for the operation.

Ok, some of that CPU pool is consumed by other VMs (and reserved by the kernel?) and thus cannot be reserved by new VM.

5) Powering on a VM configured with 5 cores and 16000 MHz CPU reservation

The error is the same.

6) Powering on a VM configured with 4 cores and 12800 MHz CPU reservation

Success.

But way too little cores.

Why HT cores seem to be ignored in CPU pool? How to assign HT cores to VMs so that they would count as reserved?

All I want is to set reservation of 4 completely unused pCPUs (8 logical cores) to my VM.

I clearly am missing something as any guide I've read does not mention such limitations of HT cores.

I would be glad for any tips and directions.

Thanks!

0 Kudos
1 Reply
IRIX201110141
Champion
Champion

IIRC this feature does only take the pCPU (not the HT ones) into account. Also there is one Core reserved for the System. So in your example 6 pCPUs - 1 pCPU Reserve is a max. of 5 vCPU  VM if you would like to use this features. NUMA also comes into the game but you have only a 1 socket box so we dont care right now.

You have only a very small Host and its way overprovisioned with a 8 vCPU VM.

Regards,

Joerg

0 Kudos