28.12.2014 Views

Timekeeping in VMware Virtual Machines

Timekeeping in VMware Virtual Machines

Timekeeping in VMware Virtual Machines

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Timekeep<strong>in</strong>g</strong> <strong>in</strong> <strong>VMware</strong> <strong>Virtual</strong> Mach<strong>in</strong>es<br />

2. See the workarounds listed for the troubleshoot<strong>in</strong>g item Guest time runs slower than real<br />

time on page 21.<br />

3. Search for "sound" <strong>in</strong> the <strong>VMware</strong> Knowledge Base and read the correspond<strong>in</strong>g articles.<br />

4. You can experiment with the timeTracker parameters described <strong>in</strong> Guest Clock<br />

Synchronization With Non-<strong>VMware</strong> Software on page 16. In some cases <strong>in</strong>creas<strong>in</strong>g<br />

catchupPercentage (to make catchup faster) or reduc<strong>in</strong>g<br />

catchupIfBeh<strong>in</strong>dByUsec (to trigger catchup sooner) may help, but both options are<br />

a last resort.<br />

On a L<strong>in</strong>ux host, the vmware-rtc kernel thread uses too much CPU time<br />

When one or more of the virtual mach<strong>in</strong>es on a L<strong>in</strong>ux host mach<strong>in</strong>e requests timer <strong>in</strong>terrupts at<br />

a higher rate than the host's hardware timer <strong>in</strong>terrupt rate, <strong>VMware</strong> products attempt to use the<br />

/dev/rtc device to obta<strong>in</strong> additional timer <strong>in</strong>terrupts on the host mach<strong>in</strong>e. The vmware-rtc<br />

kernel thread fields these <strong>in</strong>terrupts and uses them to wake up virtual mach<strong>in</strong>es as needed. In<br />

some cases, this thread can consume considerable CPU time. There are several ways of deal<strong>in</strong>g<br />

with this issue.<br />

1. If the CPU consumption is not actually caus<strong>in</strong>g a performance problem on your host,<br />

simply ignore it.<br />

2. In some cases the guest timer <strong>in</strong>terrupt rate can be reduced. For L<strong>in</strong>ux kernel 2.6 guests,<br />

see the troubleshoot<strong>in</strong>g item Guest time runs slower than real time on page 21.<br />

3. See Increas<strong>in</strong>g the Host Timer Interrupt Rate on page 13 for a way to <strong>in</strong>crease the base host<br />

timer <strong>in</strong>terrupt rate, which may elim<strong>in</strong>ate the need for extra clock <strong>in</strong>terrupts from /dev/<br />

rtc.<br />

4. You can prevent /dev/rtc from be<strong>in</strong>g used. This will generally cause clocks to run slow<br />

<strong>in</strong> any virtual mach<strong>in</strong>es you have that need the additional <strong>in</strong>terrupts, but that may be<br />

acceptable to you, depend<strong>in</strong>g on your application. To do so, add the follow<strong>in</strong>g sett<strong>in</strong>g to<br />

each virtual mach<strong>in</strong>e's .vmx configuration file, or add the sett<strong>in</strong>g globally to the host's<br />

configuration file (/etc/vmware/config):<br />

host.useFastClock = FALSE<br />

This sett<strong>in</strong>g should work on all recent versions of <strong>VMware</strong> for L<strong>in</strong>ux, but if you have an older<br />

version on which it does not work, an alternative workaround is to remove the /dev/rtc<br />

node from your host filesystem. (That is, become root and run the command:<br />

rm /dev/rtc<br />

<strong>VMware</strong> is track<strong>in</strong>g this issue <strong>in</strong>ternally and we hope to reduce the CPU usage of the vmware-rtc<br />

thread <strong>in</strong> the future.<br />

L<strong>in</strong>ux error: "IO-APIC + timer doesn't work!"<br />

Occasionally a L<strong>in</strong>ux guest will fail to start up, display<strong>in</strong>g a garbled screen image or the follow<strong>in</strong>g<br />

error message:<br />

"IO-APIC + timer doesn't work! pester m<strong>in</strong>go@redhat.com"<br />

or<br />

"IO-APIC + timer doesn't work! Try us<strong>in</strong>g the 'noapic' kernel<br />

parameter"<br />

The virtual mach<strong>in</strong>e's vmware.log file also <strong>in</strong>cludes the message:<br />

"Possible PR 17486. Discard<strong>in</strong>g <strong>in</strong>terrupt".<br />

24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!