Membatasi penggunaan memori pada Linux
Saya agak suka mengelola shared hosting walaupun masih menggunakan VestaCP. Kenapa? Karena kadang saya menemukan kasus – kasus unik dan bahkan serangan malware. Mau belajar setting VPS secara cepat? Sering – seringlah mencari masalah. 😛 Kali ini yang saya alami adalah ada user yang entah menjalankan script PHP apa yang bisa makan memori hingga 500MBan, padahal VPSnya sendiri cuma 1GB. Sadis! 😀
Bisa dikatakan ini menyambung pembahasan soal mengecek batasan user Linux dahulu, bedanya sekarang kita ingin menerapkannya. Jadi kita bisa memanfaatkan perintah ulimit untuk memberi kuota penggunaan memori tapi per proses lho ya bukan per user. Kebetulan ini masih cocok sekali dengan kasusnya karena satu proses PHP-FPM bisa membengkak jadi 0.5GB tadi.
Misalkan saya ingin membatasi agar proses di Linux maksimal menggunakan RAM sebesar 256MB, maka perintahnya:
ulimit -v 256000
Satuannya adalah Kilobytes dan kayanya bukan pas 256MB ya kalau dikonversikan dari KB ke MB. Anggap saja sama deh. 😛
Aturan ini akan diberlakukan untuk pemakaian memori keseluruhan untuk satu proses tapi swap tidak termasuk didalamnya. Setelah anda terapkan hasilnya Rakyatnesia 2:
- Prosesnya berlangsung lebih lama tapi tidak mengganggu yang lain (sambil berharap semoga tidak menggunakan CPU secara signifikan).
- Atau muncul error kehabisan memori (Out Of Memory) dan kalau ini perlu disesuaikan lagi batasnya.
*Suatu saat ingin mencoba cPanel+WHMCS sih. 😀 Dan siapa tahu ikut terjun di dunia provider shared hosting. Hehe. 🙂