Tips Mengatasi Server Linux yang Tiba-Tiba High CPU Usage

Salah satu kejadian paling bikin was-was untuk sysadmin adalah saat server Linux tiba-tiba mengalami CPU usage yang melonjak tinggi. Aplikasi jadi lambat, service delay, dan kadang server terasa seperti mau “meledak”. Masalah ini bisa muncul karena aplikasi yang runaway, proses zombie, sampai service yang crash looping.

Di tulisan ini, saya akan share langkah praktis untuk menganalisa dan menangani high CPU usage di Linux, mulai dari cara paling dasar sampai troubleshooting yang lebih teknis.

1. Cek Proses Paling Rakus CPU

Langkah pertama adalah langsung lihat siapa pelakunya. Gunakan:

top

Atau versi yang lebih enak dibaca:

htop

Biasanya kalian akan menemukan proses yang tiba-tiba makan CPU 300% ke atas. Dari sini, kalian bisa tentukan apakah proses tersebut wajar atau memang bermasalah.

2. Analisa Proses dengan ps & lsof

Kalau prosesnya mencurigakan, kalian bisa cek detailnya:

ps aux | grep <PID>

Lihat command lengkap, user mana yang menjalankan, dan apakah parent process-nya normal.

Kemudian cek file atau port yang dibuka:

lsof -p <PID>

Langkah ini penting untuk mengetahui apakah proses sedang looping karena IO atau network.

3. Cek Load Average untuk Mengukur Beban Sistem

Load average bisa menunjukkan apakah CPU bottleneck atau ada antrian proses yang menumpuk:

uptime

Kalau load lebih tinggi dari jumlah core, berarti server memang sedang “kewalahan”.

4. Restart Service Penyebab Masalah (Kalau Aman)

Kadang service tertentu masuk kondisi loop atau hang. Jika kalian sudah yakin prosesnya tidak sedang melakukan pekerjaan penting, restart service bisa jadi solusi tercepat:

systemctl restart <service>

Misalnya:

systemctl restart apache2
systemctl restart mysql
systemctl restart carbonio-mta

Tapi lakukan restart dengan hati-hati, terutama di jam operasional.

5. Periksa Log untuk Menemukan Penyebab Root Cause

CPU usage tinggi biasanya meninggalkan jejak di log. Cek log aplikasi terkait atau log sistem:

journalctl -xe

Atau log spesifik:

tail -f /var/log/syslog

Banyak kasus seperti:

  • service crash dan berulang kali restart
  • aplikasi menulis log secara agresif
  • script cron berjalan berulang tanpa henti
  • daemon salah konfigurasi

Dengan membaca log, kalian bisa menemukan akar masalahnya.

6. Kill Proses yang Tidak Bisa Dipulihkan

Kalau proses sudah tidak responsif sama sekali, terpaksa harus di-kill:

kill -9 <PID>

Ini langkah terakhir, tapi sering menyelamatkan server dari stuck total.

7. Cek Apakah Ada Malware atau Cron Job Mencurigakan

Server dengan akses publik rawan disusupi script mining atau cron yang inject task sendiri.

Cek cron:

crontab -l
ls -lah /etc/cron*

Cek proses mining:

ps aux | grep -i miner

Kalau menemukan proses aneh, segera bersihkan.

Kesimpulan

High CPU usage di Linux tidak selalu berarti server rusak. Kadang hanya ada satu proses yang runaway, service crash, atau konfigurasi yang salah. Dengan langkah-langkah di atas mulai dari analisa proses, cek log, restart service, hingga memastikan tidak ada malware kalian bisa menangani dan mencegah masalah ini kembali muncul.

Semakin sering kalian melakukan troubleshooting, makin cepat kalian memahami pola masalah di server.

Leave a Reply

Your email address will not be published. Required fields are marked *