VMware Cloud Community
mcschaffner
Contributor
Contributor

Restrict Multi-CPU

What I'm attempting to do is emulate a Quad-Core CPU @ 1.1GHz.    So I want to have all 4 CPUs and make sure that at no point do any of the 4 cores exceeds 1.1GHz of speed.   I tried setting it to the 4CPUs and 4400Mhz of CPU Limit.   But at one point in my testing I was only using one thread and it was allowed to go past that 1.1GHz of speed, which invalidated my test.

Is this something that is possible, and if so, what would the settings be in ESXi 6.5?

Thanks

0 Kudos
2 Replies
depping
Leadership
Leadership

The limit is a total amount of MHz, divided across the vCPUs when they are demanding it. If you have a single CPU active then that will indeed go higher then Limit/vCPUs. AFAIK there's nothing you can do to change this.

0 Kudos
bluefirestorm
Champion
Champion

You could try adding the line

timeTracker.apparentHz = "1100000000"

to the vmx configuration file of the VM.

But it won't change how fast the VM executes in the host.

I have tried that on a Workstation Pro 12.5.x Windows 98 VM to mask it to be 66MHz 486 CPU and CPU-Z inside the VM won't report a clock speed higher than 66MHz. I can only imagine now how horrendously slow if it really executed at 66MHz speed (back to the days of the early-mid 1990s).

Aside from clock speed, you could also apply other CPUID masks to make it appear to have a different CPU or mask off certain capabilities.

0 Kudos