Server gue pernah tiba-tiba load average-nya melonjak dari 0.5 ke 12 dalam 5 menit pas jam sibuk — aplikasi web timeout, SSH lambat, client mulai komplain. Tanpa tools monitoring yang tepat, gue butuh hampir 2 jam buat nemuin root cause: sebuah cron job yang stuck dan makan seluruh CPU. Kalau gue pakai htop atau atop sejak awal, masalah itu bisa diidentifikasi dalam hitungan menit. Artikel ini bakal bahas dua tools terbaik untuk admin server Linux: htop untuk real-time check, dan atop untuk historical debugging.
Buat lo yang sering manage VPS, dedicated server, atau homelab — menguasai htop dan atop itu skill fundamental. Dua tools ini lightweight, sudah ada di repo distro Linux mainstream, dan bisa handle 90% use case monitoring harian lo.
Kenapa htop & Atop Penting untuk Admin Server?
Saya pernah punya VPS yang tiba-tiba load average-nya melonjak dari 0.5 ke 12 dalam waktu 5 menit. Aplikasi web mulai timeout, SSH lambat, dan client mulai komplain. Tanpa tools monitoring yang tepat, saya butuh waktu hampir 2 jam untuk menemukan root cause: sebuah cron job yang stuck dan memakan seluruh CPU. Kalau saya pakai htop atau atop sejak awal, masalah itu bisa diidentifikasi dalam hitungan menit.
Di dunia tuning performa server Linux, kemampuan untuk membaca output monitoring secara real-time adalah skill fundamental. Artikel ini akan membahas dua tools terbaik: htop dan atop.
htop: Versi Modern dari top
htop adalah interactive process viewer yang merupakan improvement signifikan dari top bawaan Linux. Keunggulan utamanya: warna, mouse support, tree view, dan scroll horizontal/vertikal.
Instalasi
# Debian/Ubuntu
sudo apt update && sudo apt install htop -y
# CentOS/RHEL
sudo yum install htop -y
# Arch
sudo pacman -S htop
Memahami Interface htop
Bar Header (6 baris pertama):
- Bar 1 — CPU cores: Setiap bar mewakili satu CPU core. Hijau = user, biru = low priority, merah = kernel, coklat = hardware interrupts. Kalau semua bar merah dan penuh, CPU kamu bottleneck.
- Bar 2 — Memory: Hijau = used, biru = buffers, kuning = cached. Cached memory TIDAK wasted — kernel memakai cached untuk mempercepat file reads. Jangan panik melihat "used" tinggi.
- Bar 3 — Swap: Kalau swap >50%, tanda server kekurangan RAM atau ada memory leak.
- Bar 4-6 — Load average: Rata-rata proses yang menunggu CPU selama 1, 5, dan 15 menit. Rule of thumb: idealnya kurang dari jumlah CPU cores.
Process list — kolom penting:
- RES: Resident memory — RAM yang benar-benar digunakan. INI yang harus diperhatikan, bukan VIRT.
- S: Status (R=running, S=sleeping, Z=zombie, D=disk sleep)
- NI: Nice value (negative = higher priority)
- CPU% & MEM%: Persentase penggunaan aktual
Shortcut Keys yang Wajib Dihafal
- F5 (Tree view): Hierarki parent-child. Berguna untuk menemukan proses child bermasalah.
- F6 (Sort): Sort by CPU, MEM, TIME. Default by CPU.
- F9 (Kill): Kirim signal ke proses — SIGTERM atau SIGKILL.
- F4 (Filter): Filter berdasarkan nama. Ketik "nginx" untuk lihat semua proses nginx.
- F3 (Search): Cari proses di seluruh list.
- P (Sort by CPU): Quick sort by CPU tanpa buka menu.
- M (Sort by MEM): Quick sort by memory.
- p (Path): Tampilkan full path executable.
Custom Config
Edit ~/.config/htop/htoprc untuk setting default. Yang saya rekomendasikan untuk production:
detail_cpu_time=1
sort_key=3
show_thread_names=1
highlight_changes=1
atop: Monitoring Historikal — Killer Feature
Kalau htop adalah snapshot real-time, atop adalah time machine. atop mencatat semua metrik secara berkala ke disk, sehingga kamu bisa melihat apa yang terjadi 3 jam yang lalu, kemarin, atau minggu lalu.
Instalasi
sudo apt install atop -y
Setelah instalasi, atop otomatis running sebagai daemon, mencatat metrik setiap 10 menit ke /var/log/atop/.
Shortcut Keys atop
- g (General): Tampilan default — gabungan semua metrik
- m (Memory): Detail memory per proses
- d (Disk): Detail disk I/O per proses dan per disk — paling powerful
- n (Network): Traffic per interface
- c (Command): Full command line per proses
- t (Skip): Sample berikutnya
- T (Back): Sample sebelumnya
Analisis Historikal
Ini killer feature. Kamu bisa "travel back" ke waktu saat masalah terjadi:
# Lihat sample dari jam tertentu
sudo atop -r /var/log/atop/atop_2026-07-04 -b 14:00
# Lihat selama 1 jam
sudo atop -r /var/log/atop/atop_2026-07-04 -b 14:00 -e 15:00
# Export ke ASCII
sudo atop -r /var/log/atop/atop_2026-07-04 -b 14:00 -P CPU,MEM,DSK
Saya menggunakan fitur ini untuk debugging spike CPU jam 3 pagi. Tanpa atop, insiden seperti itu akan menjadi misteri.
Konfigurasi
# /etc/default/atop
INTERVAL=300 # 5 menit (lebih detail dari default 10 menit)
LOGGENERATION=28 # Simpan 28 hari
LOGPATH=/var/log/atop
Dengan interval 5 menit, satu hari data atop sekitar 50-80MB. Worth it untuk debugging capability yang kamu dapatkan.
Skenario Praktis: Troubleshooting Server Lambat
Langkah 1: Quick Check dengan htop
htop
Lihat 3 hal: CPU bars (ada core maxed out?), Memory/Swap (swap tinggi?), Load average (melebihi cores?).
Langkah 2: Identifikasi Proses
Di htop, tekan P untuk sort by CPU atau M untuk sort by memory. Perhatikan proses yang menggunakan resource paling banyak.
Langkah 3: Deep Dive dengan atop
Kalau masalahnya intermittent, cek sample dari jam saat masalah terjadi:
sudo atop -r /var/log/atop/atop_$(date +%Y-%m-%d) -b 14:00 -e 14:30
Gunakan d untuk cek disk I/O — seringkali disk bottleneck lebih sulit dideteksi daripda CPU.
Langkah 4: Monitor Ongoing
tmux new -s monitor
htop
Perbandingan htop vs atop vs top
| Fitur | top | htop | atop |
|---|---|---|---|
| Color output | ❌ | ✅ | ✅ |
| Mouse support | ❌ | ✅ | ❌ |
| Tree view | ❌ | ✅ | ✅ |
| Historical data | ❌ | ❌ | ✅ |
| Disk I/O per proses | ❌ | ❌ | ✅ |
| Network per proses | ❌ | ❌ | ✅ |
| Bawaan distro | ✅ | ❌ | ❌ |
htop untuk quick check, atop untuk deep-dive. Keduanya saling melengkapi.
Alerting Sederhana
#!/bin/bash
# check-load.sh
THRESHOLD=4
LOAD=$(awk '{print $1}' /proc/loadavg | cut -d. -f1)
if [ "$LOAD" -gt "$THRESHOLD" ]; then
echo "WARNING: Load $LOAD on $(hostname)" | \
mail -s "Server Alert" [email protected]
fi
Tambahkan ke cron setiap 5 menit. Untuk monitoring lebih lengkap, pertimbangkan Netdata + Grafana atau Prometheus + Grafana.
Kesimpulan
htop dan atop adalah tools wajib untuk admin server Linux. htop untuk real-time check, atop untuk historical debugging. Dengan menguasai keduanya, waktu troubleshooting turun dari berjam-jam ke hitungan menit. Install sekarang, pelajari shortcuts-nya, dan jadikan bagian dari workflow harian.
Baca juga:
- Linux Performance Tuning untuk Self-Hosting
- Kernel Tuning sysctl untuk High Traffic
- Server Performance Tuning Lengkap
Tips Lanjutan: Integrasi dengan Monitoring Stack
htop dan atop bagus untuk ad-hoc troubleshooting, tapi untuk monitoring yang kontinyu dan alerting otomatis, lo butuh integrasi dengan stack monitoring yang lebih lengkap. Salah satu pattern yang sering gue pakai: gabungkan atop dengan Prometheus + Grafana untuk long-term storage dan dashboard visual. Caranya: pakai atop dengan output format yang bisa di-parse, kirim ke Prometheus pushgateway, lalu visualize di Grafana.
Alternatif yang lebih simpel: pakai Netdata — installer-nya otomatis detect htop-style metrics, simpan ke database internal, dan expose via web dashboard. Install dalam 1 menit, langsung dapat real-time visualization tanpa konfigurasi tambahan. Netdata cocok untuk single-server monitoring; kalau lo punya multiple server, pertimbangkan Prometheus + node_exporter yang lebih scalable.
Untuk alerting, integrasikan atop dengan custom script yang monitor metrik tertentu. Contoh: ping server setiap 5 menit via cron, kalau load average > 4, kirim alert ke Telegram. Lo bisa extend dengan rule yang lebih kompleks: disk usage > 80%, memory usage > 90%, atau jumlah zombie process > 5. Logic alert ini tinggal di-custom sesuai threshold server lo.
Workflow Troubleshooting yang Efisien
Berikut workflow yang gue pakai untuk troubleshoot server issue:
- Check htop dulu — lihat real-time CPU, memory, dan load average. Identifikasi proses yang makan resource paling banyak.
- Cross-check dengan atop historikal — buka sample dari jam-jam sebelum masalah terjadi. Lihat tren resource usage dan proses mana yang mulai consume banyak resource.
- Investigasi proses spesifik — pakai strace, lsof, atau /proc/{pid}/ untuk lihat apa yang dilakukan proses tersebut. Kadang root cause-nya di I/O atau network call yang lambat.
- Fix root cause — restart service yang bermasalah, optimize konfigurasi, atau tambah resource. Hindari restart seluruh server kecuali benar-benar perlu.
- Document di postmortem — tulis apa yang terjadi, kenapa, dan bagaimana fix-nya. Postmortem membantu tim belajar dari insiden tanpa menyalahkan siapa-siapa.
Workflow ini kedengarannya panjang, tapi dengan pengalaman biasanya bisa selesai dalam 15-30 menit. Tanpa tools monitoring yang tepat, troubleshoot bisa makan waktu berjam-jam dan sering berakhir dengan restart server yang nggak solve root cause.
Kesimpulan
Menguasai htop dan atop itu investasi waktu yang ROI-nya sangat tinggi. Dua tools ini gratis, sudah pre-installed di hampir semua distro Linux, dan bisa handle 90% use case monitoring harian. Lo nggak perlu install tools monitoring mahal atau kompleks untuk troubleshoot server — cukup htop untuk real-time dan atop untuk historical. Kombinasi keduanya plus workflow yang terstruktur, waktu troubleshooting server lo bisa turun drastis dari berjam-jam ke hitungan menit.
Bonus: Keyboard Shortcut Cheatsheet
Berikut cheatsheet yang gue print dan taro di meja kerja — biar selalu ingat shortcut penting:
htop shortcuts:
F1 / h Help
F2 / S Setup (configure meters, display options)
F3 / / Incremental search
F4 / I Incremental filter (filter processes)
F5 / T Tree view (parent-child hierarchy)
F6 < / > Sort by next/previous column
F7 / ] Nice + (increase priority)
F8 / [ Nice - (decrease priority)
F9 / k Kill process (select signal)
F10 / q Quit
Space Tag process (then F9 to kill multiple)
u Filter by user
H Hide kernel threads
P Sort by CPU%
M Sort by MEM%
T Sort by TIME
p Show full command path
l Show open files of process (lsof-like)
atop shortcuts:
g General view (default)
m Memory view
d Disk view
n Network view
c CPU view
s Scheduling view
v Various info
t Next sample
T Previous sample
b Jump to specific time (HH:MM)
r Reset counters
C Sort by CPU%
M Sort by MEM%
D Sort by disk
N Sort by network
z Pause/resume
q Quit
Print cheatsheet ini, tempel di dinding, dan dalam 1 minggu hafal semuanya. Shortcut ini bakal jadi extension tangan lo — yang membedakan sysadmin yang efisien dari yang newbie.
htop untuk quick check, atop untuk deep-dive historikal. Keduanya saling melengkapi. Install sekarang, pelajari shortcut-nya, dan jadikan bagian dari workflow harian. Dengan menguasai dua tools ini, waktu troubleshooting server lo bisa turun dari berjam-jam ke hitungan menit.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬