This post documents some troubleshooting I did on performance issues with Ubuntu guests under VMware Workstation. I’m running Workstation 10 at home, and Workstation 9 at work, both on Windows 7 hosts.
The symptom was slow and stuttering performance, particularly in Eclipse. Important clues were:
- High CPU usage from the Xorg process in the guest
- The problem appeared after upgrading to Workstation 10 at home
- After upgrading the hardware compatibility on the VM from 6/7 to 9 (I’ve been running this VM for a while), things improved dramatically on my home machine but not on my much beastlier work machine.
Without boring you with the troubleshooting process, here’s the fix:
- Upgrade the hardware compatibility on the VM to “Workstation 9.0” (as noted above)
- Enable 3D acceleration in the VM settings
- Downgrade the VMware tools installed in the guest to the latest Workstation 9 tools
With this setup things are better on Workstation 9, and much better on Workstation 10.
The key lessons learned are:
- The hardware compatibility level does matter, especially for areas that are rapidly improving like the 3D acceleration
- VMware tools should be up to date but not too up to date. Running the v10 tools on the v9 host produced no error but did not work. Obviously it would be better to have version consistency everywhere, but one of the key advantages for me of using VMs is portability, where version synchronization isn’t always feasible.
- The “3D acceleration setting” might be lying – i.e. when the box is ticked you may not actually have acceleration. `glxinfo | grep rendering` on the guest tells the truth.
- The internet, as usual, is chock full of less than helpful advice, like upgrading graphics drivers, rolling back graphics drivers, recompiling X, moving to a different host OS. Etc etc.
- It’s been so long since I’ve seen any application CPU-bound on graphics operations that I spent too long chasing disk and memory bottlenecks. So note to self: look at the obvious performance counters, and then at least consider the possibility that they are telling the truth.
Hope this helps!