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
[1] https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
[2] http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool
[2] http://www.webtrafficexchange.com/solved-mysql-crash-fatal-error-cannot-allocate-memory-buffer-pool
0 Komentar
Posting Komentar