Artificially Generate CPU Steal

Anyone know of a good way to artificially generate CPU steal? I have some automation I want to test which is triggered by CPU Steal, but for the life of me I can't figure out how to force CPU Steal to occur. I've got the virtual machine pegged at 100% CPU utilization, with no stealing going on. I don't have control over the host machine, so I can't just load a bunch of VM's and get CPU Steal that way.

Anyone have any ideas? Would be greatly appreciated.


Without access to the host you will never be able to control this. (Or the ability to predict that your VM will share resources and contend with other VMs to the point that there are contention issues on the host.)

CPU Steal Time Definition

Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

You would need to add other VMs to the host that are also working near max capacity, (or relocate the VM onto a smaller host,) so that the host has a reason to let other VMs steal from your VM.

Even if the other VMs on the same host are not completely idle, if the host has plenty of excess processors with which to service whatever smaller number of vCPUs your VM has at any given moment, you can run your VM in the red 24/7 and never see any steal time.

For instance, if your VM had 4 vCPUs, and my host had 32 cores/processors, you would probably never see any steal, because giving your puny VM 4 vCPUs at any one moment is no big deal to my big beefy host.

Low resource contention = low steal time.

Edit: You might be interested in my other somewhat similar Serverfault post:

Is there a Windows equivalent of Unix 'CPU steal time'?