Ticket #6583 (closed defect: obsolete)

Opened 9 years ago

Last modified 4 years ago

Contention for host CPU can trigger high host CPU usage for idle Guest

Reported by: agt Owned by:
Component: VMM Version: VirtualBox 3.1.6
Keywords: Cc:
Guest type: Linux Host type: Linux

Description (last modified by frank) (diff)


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.


r3-cpu-usage.png Download (8.0 KB) - added by agt 9 years ago.
Graph of VBoxHeadless CPU usage w/ idle guest
r3-VBox.log Download (62.0 KB) - added by agt 9 years ago.
VBox.log for graphed VBoxHeadless session

Change History

Changed 9 years ago by agt

Graph of VBoxHeadless CPU usage w/ idle guest

Changed 9 years ago by agt

VBox.log for graphed VBoxHeadless session

comment:1 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to obsolete
  • Description modified (diff)
Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use