In a virtual environment, disk io can be about the most expensive operation there is. And swap (virtual memory) depends on that heavily. By default we configure a small swap partition for each VPS server so conditions where memory is exhausted can be detected more consistently, but that should not be used as a RAM substitute.
Swapfiles (manually created file based swap) are not recommended on our VPS servers since they often degrade the performance of your service when actively used.
Our hosts are all monitored in case load on different subsystems are causing issues. And we might send you an alert if your swap space is being used a lot since that often indicates problems with the VPS. In some cases we might limit that usage to prevent other customers on the same host from being affected.
If your server is consistently using swap space, and you have tuned resource usage by your services as much as possible, we highly recommend adding more RAM. You can do that at any time via our handy resource change tool
To check if your server is swapping you can use the free command. In the following example you can see that a small amount of swap space has been used on the third line, which is ok in this case.
~$ free -m total used free shared buffers cached Mem: 3962 3694 267 0 297 1442 -/+ buffers/cache: 1953 2008 Swap: 128 4 124
One way to help the VPS be less likely to prefer swap space is to tweak the swappiness kernel parameter. As the root user you can temporarily set that to a value between 0 and 100 with the following command (lower values means less likely to swap, default is 60):
echo 30 > /proc/sys/vm/swappiness
You can make that permanent by adding the parameter to the end of the /etc/sysctl.conf like the following:
vm.swappiness = 30
Any changes to the sysctl.conf file can be loaded by rebooting your VPS, or more nicely with:
sysctl -f /etc/sysctl.conf
If you decide you want more swap space you can add a swap file using something like:
swapfile=/root/swapfile #mb size=100 { dd if=/dev/zero of=$swapfile bs=1024 count=$[$size*1024] mkswap $swapfile swapon -p -2 $swapfile echo "$swapfile swap swap defaults,noatime,pri=-2 0 0" >> /etc/fstab mount -a swapon -a swapon -s #NB: change /etc/fstab for main swap to make it pri=3 (mean it'll be used first }