CPU 116%

Fullmoon

Member
Jun 19, 2020
35
1
13
36
Good afternoon. Help with advice. I have 8 free CPU cores which I have to distribute across 6 virtual machines. when I use 2 CPU cores the load is 98%, when I use 1 CPU core the load is 116%. Can i Use 6 virtual machines with 1 CPU core at a constant load of 116%? ... will the hypervisor distribute this (6x16%) on freedom not 2 CPU cores?
1616004226075.png
 
Some of the I/O like disk and network read/write is done by other threads, which causes the total CPU usage to creep above 100%. This is usually one thread per virtual device and can be scheduled freely over available physical threads/cores. It really depends on the workload and how well it scales over (virtual) cores.
Example: 1 virtual core 100% busy with calculation and some I/O => 116% phsical; 2 virtual cores but only 100%+64%=82% busy (because of imperfect scaling) + same I/O => 82+16=98%. I'm sure that with a perfectly scaling workload you can get a result like 100%*cores+I/O which is more that just all the cores.
EDIT: Even paravirtualized devices such as VirtIO SCSI and VirtIO network require some CPU time, although less then emulated device such as LSI and e1000.
 
Last edited:
The hypervisor always distributes all work on all cores, as long as you didn't take any special measures for it not to do so.
Therefore it is safe to run on 116% cpu load for a certain machine and also safe to provision more cores to your machines than you really have.