Saturday, July 15, 2006

Vmware and Ubuntu, my virtual cpu is losing ticks

I have been having problems with Ubuntu 6 on vmware recently.

I run a virtual machine where all my current web development projects are installed and running. The web files are exported to this virtual machine thru NFS.

Just this week the NFS client on my virtual machine would complain that the server has stopped responding and connection is timing out. This caused my web applications to hang and the web server to just stop serving pages.

I noticed 2 things.

(1) the date and time on the virtual machine kept getting out of sync with my host operating system

(2) I saw a weird log entry that said that my "...CPU is losing ticks, checking if CPU frequency has changed"

Almost everytime my web applications hung, it woud be because NFS stopped connecting and in almost all cases I saw both symptoms.

After losing some hours over this, I found an article over at the VMware knowledge base about it.

What ended up fixing it for me was:

(1) make sure vmware-tools was syncing time with my host operating system

(2) added the "clock=pit" to the kernel bootup parameters.

I run Ubuntu 6.06 with a server kernel. I meant this virtual machine to be a server so no X-windows or any such GUI is installed. That turned out to be a problem with configuring vmware-tools to sync time with the host OS.

It seems the solution to that one was to edit the .vmx file for the virtual machine and setting tools.syncTime to "TRUE".

Update : Interestingly, technologies like speedstep and cool n' quiet can also cause this problem. Check this article out. Try turning off speedstep and/or cool n' quiet from the BIOS and see how it works.