• Indonesian
  • English
  • Cara Pakai Perintah Top Linux — Cegat Siapa yang Makan

    Kecepatan:

    Mengenal Perintah Top Linux: Cara Cegat Siapa yang Makan Resource Server

    Difficulty: Beginner
    Last Updated: Juli 2026
    Tested On: Ubuntu 22.04, CentOS 7/8, Debian 12

    Focus Keyword: perintah top linux

    Pernah nggak kamu lagi asik kerja tiba-tiba server lemot parah? Website nggak bisa diakses, SSH nyangkut, chat client marah-marah. Terus kamu bingung harus mulai darimana. Padahal kalau kamu nggak tahu perintah top linux, kamu cuma bisa ngelangitkan tangan dan berdoa servernya balik sendiri.

    Saya masih ingat pengalaman pertama saya handle server produksi yang tiba-tiba lemot. Jam 3 pagi, alarm monitoring bunyi terus. CPU usage 98%, RAM udah 90%, dan saya nggak tahu siapa pelakunya. Saya cuma lihat angka-angka di Grafana tapi nggak bisa trace ke proses mana yang bikin pusing. Setelah saya pelajari perintah top linux dengan serius, semuanya jadi lebih jelas. Sekarang, begitu server mulai bermasalah, langkah pertama saya selalu sama: ketik top.

    Jadi begini analoginya. Bayangkan server kamu itu kayak sebuah rumah kos. Di dalam rumah kos itu ada banyak anak-anak kos (user/proses) yang masing-masing pakai listrik, air, dan kamar. Kalau tagihan listrik bulanan membengkak, kamu nggak mungkin teriak ke seluruh penghuni. Kamu perlu tahu tepatnya: siapa yang nyala AC-nya 24 jam? Siapa yang cuci baju pakai mesin cuci terus-terusan? Begitu juga dengan server — perintah top linux adalah cara kamu mengecek siapa di antara semua proses yang sedang makan resource.

    Apa Itu Perintah Top Linux?

    Perintah top linux adalah tools bawaan di hampir semua distribusi Linux yang berfungsi untuk menampilkan informasi real-time tentang semua proses yang sedang berjalan di server kamu. Bayangkan ini kayak dashboard monitoring versi terminal — semua info tentang CPU, RAM, swap, dan proses ada di satu layar.

    Ketika kamu ketik top di terminal, kamu akan melihat tampilan yang terus update setiap beberapa detik. Di bagian atas ada ringkasan penggunaan resource, dan di bawahnya ada daftar lengkap semua proses yang sedang jalan, lengkap dengan siapa yang menjalankannya (user), berapa CPU yang dipakai, berapa RAM yang dimakan, dan lain-lain.

    Yang bikin perintah top linux sangat powerful adalah kamu bisa langsung lihat secara real-time siapa yang sedang membebani server kamu. Nggak perlu install tools tambahan, nggak perlu konfigurasi ribet — cukup ketik top dan semua informasi ada di depan mata.

    Analogi Sederhana: Top Itu Kayak CCTV Rumah Kos

    Bayangkan lagi soal rumah kos tadi. Rumah kos itu punya CCTV yang menampilkan daftar semua penghuni beserta berapa banyak listrik, air, dan kamar yang mereka pakai. Kalau tagihan listrik membengkak, kamu tinggal lihat CCTV-nya: oh, ternyata si Budi nyala AC 24 jam! Si Andi nyala komputer gaming seharian!

    Nah, perintah top linux itu persis kayak CCTV server kamu. Dia menampilkan:

    • Semua proses yang sedang jalan — kayak daftar semua penghuni kos
    • User mana yang menjalankan — kayak nama di pintu kamar
    • Berapa banyak resource yang dipakai — kayak meteran listrik di tiap kamar
    • Update real-time — kayak CCTV yang terus merekam

    Cara Kerja Perintah Top Linux

    Saat kamu menjalankan top, program ini bekerja dengan cara membaca informasi dari direktori /proc di Linux. Direktori /proc itu semacam jendela ke jantung sistem operasi — di dalamnya ada semua informasi tentang proses, hardware, dan status sistem. top membaca informasi ini secara berkala (default setiap 3-5 detik) dan menampilkannya di layar dalam format yang mudah dibaca.

    Setiap kali top update, dia menghitung ulang persentase CPU, penggunaan memory, dan statistik lainnya berdasarkan data terbaru dari kernel. Ini yang bikin tampilannya terlihat “bergerak” — karena memang data diupdate terus-menerus.

    Membaca Tampilan Perintah Top Linux

    Okay, sekarang kita bedah tampilan top bagian per bagian. Jangan khawatir, saya jelaskan dengan analogi yang mudah dipahami.

    Bagian 1: Header (Ringkasan System)

    Ini bagian paling atas dari tampilan top. Ibarat dashboard di rumah sakit — ada semua vital sign server kamu.

    top - 14:32:01 up 45 days,  3:21,  2 users,  load average: 2.15, 1.89, 1.67
    Tasks: 287 total,   3 running, 284 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 45.3 us,  8.2 sy,  0.0 ni, 42.1 id,  3.4 wa,  0.0 hi,  1.0 si
    MiB Mem :  15896.2 total,   2341.5 free,  10234.8 used,   3319.9 buff/cache
    MiB Swap:   4096.0 total,   3891.2 free,    204.8 used.   5123.4 avail Mem

    Mari kita bedah satu per satu:

    Baris Artinya Analogi
    top - 14:32:01 Waktu saat update terakhir Jam berapa CCTV ini update
    up 45 days Berapa lama server sudah menyala Umur rumah kos tanpa renovasi
    2 users Jumlah user yang sedang login Banyak orang di dalam rumah
    load average: 2.15, 1.89, 1.67 Load rata-rata dalam 1, 5, dan 15 menit terakhir Antrean di kasir rumah kos
    %Cpu(s): 45.3 us CPU dipakai oleh user processes Listrik dipakai penghuni
    8.2 sy CPU dipakai oleh sistem/kernel Listrik dipakai gedung (AC sentral)
    42.1 id CPU yang idle (nggak dipakai) Listrik yang masih tersedia
    3.4 wa CPU menunggu I/O (read/write disk) Penghuni antre air karena pipa macet

    Bagian 2: Daftar Proses (Ini yang Paling Penting!)

    Di bawah header, ada daftar proses yang sedang berjalan. Ini adalah bagian paling krusial dari perintah top linux — di sinilah kamu bisa lihat siapa pelaku sebenarnya.

        PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
       1234 www-data  20   0  892340 456780  12340 S  95.2  2.8   45:23.45 php-fpm
       5678 mysql     20   0 2345678 1234567 23456 S  78.5  7.5  123:45.67 mysqld
       9012 nobody    20   0  567890 234567   5678 S  45.3  1.4   12:34.56 nginx
       3456 root      20   0  123456  34567   2345 S  12.1  0.2    3:45.67 sshd
       7890 nobody    20   0  234567  89012   3456 S   8.7  0.5    5:23.45 nginx
       2345 root      20   0   56789  12345   1234 S   2.1  0.1    1:23.45 cron

    Sekarang saya bahas kolom-kolom penting:

    Kolom Artinya Yang Perlu Diperhatikan
    PID ID unik proses Untuk referensi jika perlu kill proses
    USER Siapa yang menjalankan proses ini INI KOLOM PALING PENTING — ini yang kasih tahu kamu siapa pelakunya
    %CPU Persentase CPU yang digunakan Jika angka ini tinggi, proses ini makan banyak CPU
    %MEM Persentase RAM yang digunakan Jika angka ini tinggi, proses ini makan banyak RAM
    RES Resident memory (RAM aktual) Angka dalam KB — ini RAM beneran yang dipakai
    S Status proses (S=sleeping, R=running, Z=zombie) Zombie = proses mati tapi nggak dibersihkan
    COMMAND Nama program/proses Ini yang kasih tahu program apa yang bikin masalah

    Cara Menggunakan Perintah Top Linux: Step by Step

    Langkah 1: Jalankan Top

    Cukup ketik top di terminal:

    $ top

    Seketika kamu akan melihat tampilan real-time yang terus berupdate. Setiap 3 detik (default), tampilan akan refresh dengan data terbaru.

    Langkah 2: Urutkan Berdasarkan CPU

    Untuk langsung melihat proses mana yang paling banyak makan CPU, tekan huruf P (uppercase) di keyboard:

    $ top# Tekan P untuk urutkan berdasarkan CPU

    Sekarang proses dengan CPU usage tertinggi akan muncul di paling atas. Ini cara tercepat untuk menemukan siapa yang bikin server lemot.

    Langkah 3: Urutkan Berdasarkan Memory

    Mau tahu siapa yang makan RAM paling banyak? Tekan huruf M (uppercase):

    $ top# Tekan M untuk urutkan berdasarkan Memory

    Proses dengan memory usage tertinggi akan naik ke paling atas.

    Langkah 4: Filter Berdasarkan User

    Mau lihat hanya proses dari user tertentu? Tekan u lalu masukkan nama user:

    $ top# Tekan u, lalu ketik nama user, misal: www-data

    Ini sangat berguna kalau kamu punya banyak user di server dan ingin fokus ke satu user saja.

    Langkah 5: Cari Proses Spesifik

    Mau cari proses tertentu? Tekan o atau O lalu masukkan filter:

    $ top# Tekan o lalu ketik: COMMAND=mysqld

    Ini akan menampilkan hanya proses mysqld (MySQL server).

    Langkah 6: Tampilkan Proses Milik User Tertentu

    Untuk menampilkan proses milik user tertentu saja, gunakan flag -u saat menjalankan top:

    $ top -u www-data

    Ini akan langsung menampilkan hanya proses yang dijalankan oleh user www-data.

    Langkah 7: Kill Proses Bermasalah

    Kalau sudah ketemu proses yang bikin masalah, tekan k lalu masukkan PID proses tersebut:

    $ top# Tekan k, lalu masukkan PID yang mau di-kill, misal: 1234

    ⚠️ PERINGATAN: Jangan asal kill proses di server produksi! Pastikan kamu tahu persis apa dampaknya. Kill proses yang salah bisa bikin website down atau data hilang.

    Simulasi Perintah Top Linux: Bagaimana Jika Server Belum Bermasalah?

    Nah, ini yang menarik. Kadang kamu nggak perlu menunggu sampai server bermasalah untuk belajar pakai perintah top linux. Kamu bisa simulasi sendiri di server lokal atau VPS testing.

    Simulasi 1: Load CPU Tinggi

    Kamu bisa bikin simulasi CPU load dengan perintah stress atau dd:

    # Install stress (Ubuntu/Debian)
    $ sudo apt install stress-ng -y
    
    # Jalankan stress untuk 1 CPU core selama 30 detik
    $ stress-ng --cpu 1 --timeout 30s
    
    # Sementara stress jalan, buka terminal lain dan jalankan top
    $ top

    Sekarang di terminal yang kedua, kamu akan lihat proses stress-ng muncul di paling atas dengan CPU usage tinggi. User-nya adalah user kamu sendiri. Ini simulasi bagaimana rasanya melihat proses yang makan CPU.

    Simulasi 2: RAM Tinggi

    Untuk simulasi penggunaan RAM tinggi:

    # Alokasikan 500MB RAM menggunakan stress-ng
    $ stress-ng --vm 1 --vm-bytes 500M --timeout 30s
    
    # Di terminal lain, jalankan top
    $ top

    Kamu akan melihat proses stress-ng menggunakan banyak RAM di kolom %MEM dan RES.

    Simulasi 3: I/O Wait Tinggi

    I/O wait itu kondisi di mana CPU sudah siap kerja tapi harus nunggu data dari disk. Ibarat kasir toko yang udah siap kasih barang tapi kardusnya belum dibuka. Untuk simulasi:

    # Tulis data ke disk secara intensif
    $ dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 &
    
    # Di terminal lain, jalankan top
    $ top

    Kamu akan melihat angka wa (iowait) di bagian header CPU meningkat. Ini menandakan server sedang menunggu operasi disk.

    Simulasi 4: Multi-User Load

    Untuk simulasi yang lebih realistis — bayangkan ada beberapa user yang masing-masing menjalankan proses berat:

    # Jalankan beberapa proses sebagai user berbeda
    $ sudo -u www-data stress-ng --cpu 1 --timeout 30s &
    $ sudo -u mysql stress-ng --cpu 1 --timeout 30s &
    $ sudo -u nobody stress-ng --vm 1 --vm-bytes 200M --timeout 30s &
    
    # Jalankan top
    $ top

    Sekarang di top, kamu akan lihat beberapa proses berat dari user berbeda. Ini kondisi yang sangat realistis — di mana kamu perlu tahu user mana yang paling banyak makan resource.

    Cara Mengetahui User Mana yang Bikin Penuh Resource

    Oke, sekarang bagian yang paling ditunggu. Kamu udah tahu cara baca perintah top linux, tapi bagaimana cara tepatnya mengetahui user mana yang bikin penuh CPU, RAM, atau IOWait?

    Metode 1: Urutkan Berdasarkan Kolom USER

    Di tampilan top, tekan F (uppercase) untuk masuk ke menu Fields Management. Di sini kamu bisa memilih kolom mana yang ingin ditampilkan dan diurutkan. Pilih kolom USER untuk mengurutkan berdasarkan user.

    Metode 2: Gunakan Top dengan Flag User

    Kalau kamu sudah curiga ke satu user tertentu, langsung filter:

    # Lihat semua proses milik www-data
    $ top -u www-data
    
    # Atau gunakan flag batch mode untuk logging
    $ top -b -n 1 -u www-data

    Metode 3: Perintah PS untuk Detail Lebih Lanjut

    Kadang top saja nggak cukup. Kamu perlu perintah ps untuk analisis lebih dalam:

    Metode 4: Gunakan Perintah Top Secara Batch untuk Logging

    Kalau mau analisis historical (mengetahui siapa yang tadi makan resource), gunakan mode batch:

    # Jalankan top dalam mode batch, simpan ke file
    $ top -b -n 60 > /tmp/top-output.txt
    
    # Setelah 60 iterasi (sekitar 3 menit), buka file-nya
    $ cat /tmp/top-output.txt | grep -E "USER|%CPU|%MEM" | head -50

    Metode 5: Monitoring Per User dengan Atools

    Linux punya tools bagus untuk melihat total resource usage per user:

    atop menampilkan informasi yang lebih detail dari top, termasuk total resource usage per user selama periode waktu tertentu.

    Troubleshooting: Kenapa CPU Tinggi?

    Gejala Kemungkinan Penyebab Cara Cek Solusi
    %CPU user tinggi (>80%) Proses aplikasi bermasalah (infinite loop, query lambat) top → tekan P, lihat user & command Optimasi kode/proses, atau kill jika tidak penting
    %CPU sy tinggi (>20%) Kernel processing (banyak context switch, interrupt) top → lihat angka sy di header Cek kernel logs, mungkin ada hardware issue
    %CPU wa tinggi (>10%) Disk I/O bottleneck — CPU menunggu data dari disk iostat -x 1 atau iotop Ganti ke SSD, kurangi write, optimasi database
    Load average > jumlah CPU core Terlalu banyak proses menunggu giliran nproc untuk lihat jumlah core Scale up (tambah CPU) atau scale out (tambah server)
    Proses zombie Proses parent nggak cleanup child process top → lihat baris zombie di header Restart parent process atau kill parent-nya

    Troubleshooting: Kenapa RAM Penuh?

    Gejala Kemungkinan Penyebab Cara Cek Solusi
    %MEM tinggi untuk satu proses Proses yang leak memory atau memang butuh banyak RAM top → tekan M, lihat user & command Optimasi proses atau alokasikan lebih banyak RAM
    Swap usage tinggi (>50%) RAM habis, sistem pakai swap di disk top → lihat baris Swap di header Tambah RAM atau kurangi proses berat
    Buff/cache tinggi tapi free rendah Ini NORMAL — Linux pakai free memory untuk cache free -h untuk detail Nggak perlu panik, ini fitur Linux
    Banyak proses kecil pakai RAM banyak PHP-FPM workers terlalu banyak atau process limit tinggi top + ps aux | wc -l Kurangi max_children di PHP-FPM config

    Pro Tips & Warnings

    Pro Tip: Kalau kamu sering monitor server, bikin alias di .bashrc:

    alias topcpu='top -b -n 1 | head -17 | tail -10'
    alias topmem='top -b -n 1 -o %MEM | head -17 | tail -10'

    Sekarang kamu cukup ketik topcpu atau topmem untuk langsung lihat ringkasan.

    Pro Tip: Untuk monitoring real-time yang lebih informatif, gunakan htop — versi top yang lebih user-friendly dengan warna dan mouse support:

    $ sudo apt install htop -y
    $ htop

    ⚠️ Warning: Jangan pernah kill proses yang tidak kamu kenal tanpa riset dulu! Beberapa proses kritis seperti mysqld, nginx, php-fpm kalau di-kill bisa bikin website down total. Selalu cek dependensi proses sebelum kill.

    ⚠️ Warning: Angka CPU di top untuk lebih dari satu core bisa melebihi 100%. Misalnya server punya 4 core, proses bisa pakai maksimal 400%. Ini NORMAL — artinya proses tersebut memanfaatkan semua core yang tersedia.

    FAQ

    Q: Apa bedanya top dan htop?
    A: htop adalah versi yang lebih user-friendly dari top. Dia punya warna, support mouse, dan lebih mudah di-navigate. Tapi secara fungsi dasar, keduanya sama — menampilkan proses real-time. Kalau kamu newbie, htop lebih nyaman dipakai.

    Q: Bagaimana cara melihat user mana yang makan CPU paling banyak di top?
    A: Jalankan top, tekan P untuk urutkan berdasarkan CPU. Proses di paling atas dengan %CPU tertinggi adalah pelakunya. Lihat kolom USER untuk tahu user mana yang menjalankan proses tersebut.

    Q: Kenapa angka %CPU di top lebih dari 100%?
    A: Ini normal di server multi-core. Kalau server kamu punya 4 CPU core, maksimal %CPU bisa mencapai 400%. Artinya proses tersebut menggunakan semua core yang tersedia.

    Q: Apa itu IOWait di top?
    A: IOWait (angka wa di header) menunjukkan berapa persen CPU yang terbuang karena harus menunggu operasi selesai di disk. Kalau IOWait tinggi (>10%), berarti disk kamu jadi bottleneck — CPU sudah siap tapi nunggu data dari disk.

    Q: Bagaimana cara logging top untuk analisis nanti?
    A: Gunakan mode batch: top -b -n 60 > /tmp/top.log. Ini akan menjalankan 60 iterasi top dan menyimpan semuanya ke file. Kamu bisa analisis file tersebut nanti untuk melihat pola penggunaan resource.

    Kesimpulan

    Menguasai perintah top linux adalah skill wajib bagi siapa pun yang mengelola server. Ibarat kamu punya CCTV di rumah — kamu nggak perlu menunggu sampai ada kejadian buruk baru mulai tahu siapa yang bikin masalah. Dengan top, kamu bisa:

    • Melihat real-time siapa yang makan CPU, RAM, dan I/O
    • Identifikasi user bermasalah dalam hitungan detik
    • Buat keputusan cepat: optimasi, scale up, atau kill proses

    Mulai sekarang, jadikan top sebagai langkah pertama kamu saat server bermasalah. Buka terminal, ketik top, tekan P untuk urutkan CPU, dan lihat siapa pelakunya. Sesederhana itu.

    Jika kamu butuh VPS yang performanya bisa diandalkan dan resource-nya cukup untuk menjalankan aplikasi kamu tanpa masalah, pertimbangkan untuk menggunakan layanan VPS dari syslogsolutions.net yang sudah terbukti stabil untuk kebutuhan NOC dan hosting production.

    Related Issues