It is very important to install the VMware tools under a VMware VPS. Among the various reasons:

  1. Significant networking performance improvement
  2. Memory Ballooning Support
  3. Dynamic Memory and CPU allocations by your hosting company (without rebooting your VPS!)

Normally, your hosting company will install the VMware tools for you, however if you have upgraded your Linux Kernel, the VMware tools will have to be reinstalled. Luckily, this is quite easy to do in Ubuntu.

Step 1 – Let’s first make sure we are up to date

apt-get update
apt-get dist-upgrade

Notice the output carefully. If a kernel was upgraded, make sure to reboot after this last upgrade.
If you are unsure, reboot anyway – Better safe than sorry.

Step 2 – Install the VMware Ubuntu package

apt-get install open-vm-tools

This will install the Open Source version of the VMware tools (VMware has released the source code for VMware Tools as an open source project called open-vm-tools located at Sourceforge).

Step 3 – Compile the modules for your current kernel

module-assistant prepare open-vm
module-assistant auto-install open-vm

Note that this third step will have to be repeated in the future, if you upgrade your kernel.

Step 4 – Configure Ubuntu to load the modules on startup, then reboot

echo vmxnet3 >> /etc/initramfs-tools/modules
update-initramfs -u
reboot

The reason we do this step, is to make sure Ubuntu has access to VMware’s vmxnet3’s driver during boot time. Once this is done, and we reboot the machine, the VMware modules should be loaded automatically.

You can verify this by running:

lsmod | grep vm

You will see a bunch of VMware related modules, that you did not see before.

Step 5 – Future Maintenance

I usually have this script lying around in a VPS to run after a kernel upgrade:

1
2
3
4
5
6
#!/bin/bash
 
# This script should be executed if a kernel was updated following a dist-upgrade
 
module-assistant auto-install open-vm
update-initramfs -u

Congratulations, your VPS should now work faster, and have some interesting features that you will surely find useful :-)