CPU limit will restrict all QEMU processes belonging to that VM to use as much as cpulimit
cores in the host. So even if you have sockets=1
, cores=4
, setting cpulimit=2
will make QEMU to not use more than 2 cores in the host. In that example, if you use more than 2 cores in the VM, you will see steal time as the host isn't allowing the VM to use more than the processing power of 2 host cores.
QEMU need CPU for other tasks than just running a guest OS or applications, like managing disk access, network traffic, etc. Using cpulimit
helps restricting a VM to use that amount of host processing capacity.