Membuat Memory swap untuk VPS dengan spek minimalis

No Comments
Beberapa penyedia layanan VPS seperti Digital Ocean tidak menyediakan fitur memory swap pada layanan yang ditawarkan. Pengguna VPS dengan spek minimalis namun dengan memiliki kebutuhan memory cukup tinggi, tentu akan sering mengalami kehabisan memory/RAM, atau istilah kerennya OOM (Out Of Memory).

Saya sendiri saat ini mengelola beberapa VPS spek minimalis dan sering menemui daemon mysql menghabiskan RAM, lalu ketika RAM sudah habis (exhausted), secara otomatis kernel akan mematikan daemon dari mysql, alhasil aplikasi yang berjalan akan eror karena database tidak hidup.


Salah satu solusinya adalah dengan cara membuat serta mengaktifkan memory virtual tambahan yang disebut dengan swap. Berikut langkahnya:

Buat file untuk memory swap, misal bernama swapfile dengan ukuran 1GB
root@myvps:/# fallocate -l 1G /swapfile

Pastikan file swapfile tersebut sudah ada dengan perintah ls -lh
root@myvps:/# ls  -lh
total 1.1G
drwxrwxr-x  2 root root 4.0K Sep 18 08:36 bin
drwxr-xr-x  3 root root 4.0K Oct 25 19:38 boot
...
-rw-------  1 root root 1.0G Mar 16 22:21 swapfile <-- ini dia filenya
...
drwxr-xr-x 12 root root 4.0K Jun 13  2016 var
lrwxrwxrwx  1 root root   27 Jun  9  2016 vmlinuz -> boot/vmlinuz-3.16.0-4-amd64

Rubah perijinan swapfile agar hanya root yang boleh mengakses (opsional)
root@myvps:/# chmod  600  swapfile

Buat agar swapfile menjari memory swap dengan perintah berikut:
root@myvps:/# mkswap  swapfile 
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=c0287e1f-xxxx-xxxxx-xxxx-xxxxxxxxxxx

Aktifkan memory swap
root@myvps:/# swapon  /swapfile

cek status memory swap
root@myvps:/# swapon  -s
Filename Type Size Used Priority
/swapfile                              file    1048572 0 -1

Agar memory swap ini aktif secara permanen bahkan ketika VPS di reboot, saya perlu memasukkan entry berikut di /etc/fstab:
/swapfile   none    swap    sw    0   0

Sampai disini memory swap tambahan sudah selesai dibuat.
Semoga bermanfaat.

Referensi