Ticket #6583 (new defect)
Opened 4 years ago
Contention for host CPU can trigger high host CPU usage for idle Guest
|Reported by:||agt||Owned by:|
Host: CentOS 5.4 (1.8Ghz P4 non-VMX CPU; kernel: redhat 2.6.18-164.15.1.el5)
Guest: CentOS 5.4 (kernel: 2.6.18-164.15.1.el5)
The guest's tick rate is set to 100hz (verified via "getconf CLK_TCK" on guest). VBox USB is disabled. The guest is configured to be completely idle after boot: after startup,the only non-kernel processes running are "udev" and "sshd".
Once the guest finishes bootup, its CPU sits idle, and as expected, "VBoxHeadless" consumes less than 10% of the host CPU.
After some time, however, VBoxHeadless CPU usage jumps to ~50% and permanently remains at that level, even though from the guest's perspective the CPU remains idle. (See attached graph of host CPU usage).
When starting the guest VM 'nice +20', I can trigger the unexpected behavior simply by loading down the host CPU with other work.
Without the 'nice', a SIGSTOP/sleep 60/SIGCONT on the VM process will also cause the permanent jump in CPU usage.
The VBox.log entries show a missed timer catch-up at precisely the point where CPU usage jumps higher. I wonder if the high CPU usage is due to a bug in the VBox timer emulation code?
I can provide a shell login on the host and guest to interested developers, and I'm happy to supply the guest VM files if desired.