I host a couple of WordPress sites on Ubuntu hosted on Digital Ocean droplets. I use their standard WordPress application (pre built WordPress on Ubuntu) with the smallest size Droplet possible. It has just 512MB Ram and 20GB SSD Disk and 1 logical core – i.e. it isn’t very quick.
Anyhow, I started to have a few problems with MySQL crash. I manifested itself by WordPress complaining that it could not connect to the database. I could fix the problem by restarting MySQL – ‘sudo service mysql restart’.
The longterm fix is to give MySQL more memory but I didn’t really want to do that. So, I opted to provide the server with more swap space. Given that Digital Ocean server are SSD’s this would be quite quick.
https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
Here is how you add swap to an Ubuntu server:
1 – Check you what swap you have.
sudo swapon -s
If you get blank response then you don’t have any swap. Digital Ocean doesn’t seem to provide swap by default.
2 – Check how much disk space you have.
df -h
Filesystem Size Used Avail Use% Mounted on
udev 234M 0 234M 0% /dev
tmpfs 49M 528K 49M 2% /run
/dev/vda1 20G 2.3G 17G 12% /
tmpfs 245M 0 245M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 245M 0 245M 0% /sys/fs/cgroup
tmpfs 49M 0 49M 0% /run/user/1000
I had 17G and so could easily give the server 1g swap.
3 – Use fallocate to reserve space on the file system. Fallocate is used because it doesn’t bother to write anything to the file system. It just allocates the space on the disk.
sudo fallocate -l 4G /swapfile
4 – Set file permissions
sudo chmod 600 /swapfile
5 – Convert it to a swap file
sudo mkswap /swapfile
6 – Add the swap
sudo swapon /swapfile
7 – Check that the swap is there
sudo swapon -s
8 – Add it to the fstab
so that it is mounted when the server reboots
sudo nano /etc/fstab
and put this line at the bottom:
/swapfile none swap sw 0 0
Finally, you can check it has all worked…
sudo swapon -s
Filename Type Size Used Priority
/swapfile file 1194300 103160 -1