Analisa Service Mati Mendadak di Server cPanel/WHM (OOM CloudLinux)

Pendahuluan

Pada server bare metal dengan cPanel/WHM + CloudLinux, terkadang terjadi kondisi di mana semua service mati secara bersamaan (Apache, PHP, MySQL, mail, dll), namun setelah reboot server kembali normal.

Kasus seperti ini sering membingungkan karena:

  • Disk tidak penuh
  • Tidak ada error jelas di WHM
  • Setelah reboot server terlihat sehat

🧩 Gejala Awal

  • Semua service mati mendadak
  • Tidak ada reboot manual
  • Server kembali normal setelah reboot
  • Lingkungan shared hosting

🔎 Langkah 1: Cek Log Sebelum Reboot

Cek reboot terakhir

last reboot

Cek log boot sebelumnya

journalctl -b -1

Dari log kernel ditemukan pesan seperti:

php-cgi invoked oom-killer
Memory cgroup out of memory
oom_memcg=/lve1550
task=httpd
task=php-cgi
Indikasi kuat: Terjadi kondisi Out Of Memory (OOM).

🔥 Apa Itu OOM?

OOM (Out Of Memory) adalah mekanisme Linux kernel untuk membunuh process ketika RAM habis agar sistem tidak mengalami crash total.

Pada CloudLinux, OOM dapat terjadi di level LVE (per user), dan dalam kondisi ekstrem dapat berdampak ke service global.

🧩 Langkah 2: Identifikasi UID Penyebab

Dari log ditemukan:

oom_memcg=/lve1550

Artinya user dengan UID 1550 kehabisan resource memory.

Mencari username dari UID

getent passwd 1550

Hasil (disamarkan):

exampleuser:x:1550:1550::/home/exampleuser:/usr/local/cpanel/bin/noshell
User exampleuser teridentifikasi sebagai pemicu OOM.

📊 Langkah 3: Analisa Resource Usage LVE

lveinfo -u exampleuser --period today

Pada waktu kejadian ditemukan:

  • Physical Memory (PMem) mencapai limit 1.0 GB
  • Entry Process (EP) 20/20 (penuh)
  • Entry Process Fault terjadi puluhan kali
  • Jumlah process aktif meningkat drastis
PMem: 1.0GB (LIMIT)
PMemF: multiple
EPf: high

Kondisi ini memicu OOM Killer CloudLinux.

❓ Kenapa Semua Service Ikut Mati?

  • Apache (httpd) dan PHP handler adalah service global
  • OOM membunuh banyak process PHP secara beruntun
  • Apache menjadi tidak stabil
  • Efek domino ke MySQL dan service lainnya

Reboot membersihkan memory sehingga server kembali normal.

❌ Bukan Karena Disk atau Hardware

df -h

Penggunaan disk rendah dan tidak ada masalah inode maupun hardware.

Masalah murni disebabkan oleh memory exhaustion, bukan storage.

🎯 Kesimpulan

  • ❌ Bukan bug cPanel
  • ❌ Bukan disk penuh
  • ❌ Bukan hardware rusak
  • ✅ LVE user kehabisan Physical Memory
  • ✅ Dipicu traffic / script PHP berat
  • ✅ Mengakibatkan OOM storm



🛠 Solusi yang Direkomendasikan

1️⃣ Naikkan Limit LVE User

  • PMem: 2 GB
  • EP: 40
  • NPROC: 150

2️⃣ Aktifkan PHP-FPM

PHP-FPM lebih stabil dan membantu menekan konsumsi memory.

3️⃣ Audit Website

grep -i "xmlrpc\|wp-login" /home/exampleuser/logs/*access*

4️⃣ Solusi Darurat Tanpa Reboot

lvectl stop exampleuser

📌 Penutup

Kasus service mati mendadak namun normal kembali setelah reboot hampir selalu berkaitan dengan OOM pada server shared hosting.

Dengan analisa log kernel dan LVE, penyebab dapat ditemukan secara akurat tanpa spekulasi.

Posting Komentar

0 Komentar