Solusi error Out Of Memory pada Apache
Rasanya memang sudah saatnya salah satu VPS saya isinya dimigrasikan. Sejak terinfeksi malware kemarin sudah beberapa kali terjadi masalah yang sebelumnya tidak pernah ada. Entah kenapa kok jadi beruntun begini. 🙁 Kali ini entah kenapa Apachenya langsung crash begitu saja, begitu dicek memang dalam keadaan mati servicenya.
Setelah mengecek lognya ada pesan Out of memory: Kill process 27332 (httpd) score 16 or sacrifice child
dan dari error ini bisa dikira – kira kalau proses Apache kehabisan memori. Masalahnya saya perhatikan memori yang tersedia sendiri cukup banyak (500MB keatas) dengan trafik yang cuma ribuan per hari sangat tidak wajar kalau butuh sebanyak itu. Walaupun ini Apache tapi sudah menggunakan Nginx sebagai reverse proxynya. Huf…
Setelah memahami isi pesan log errornya Apache akhirnya tersadar… ternyata proses httpd ini ada hingga 50 lebih! 🙁 Pantas saja memorinya tidaklah cukup. Dimana satu pengunjung satu proses dan tidak dilepas setelah selesai ya lama – lama menumpuk jadinya dan crash karena kekurangan RAM.
Solusinya? Kita batasi jumlah servernya, mari kita edit konfigurasi Apache dan sesuaikan:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 50
MaxRequestsPerChild 200
Catatan saja, ini yang saya gunakan dan sesuai dengan spesifikasi VPSnya (1GB RAM). Kalau milik anda berbeda bahkan sama pun bukan berarti langsung cocok. Silahkan dites sampai ketemu kombinasi juaranya. 🙂
Setelah itu restart dan sampai saat ini masih belum terjadi lagi.