Memahami Penggunaan CPU Pada Linux Dengan Top

Hampir semua distribusi Linux selalu memasang/menginstal utility kecil bernama “top” saat proses instalasi Linux. Utility kecil ini sangat bermanfaat untuk melakukan inspeksi kinerja CPU, terutama sewaktu kita melakukan troubleshooting.

Top, si kecil yang tidak pernah ketinggalan

Meski pun ukurannya kecil, namun top dapat menampilkan dengan jelas proses yang sedang berjalan dan penggunaan CPU secara detil. Mirip dengan task manager ala Microsoft Windows, hanya saja top menampilkan informasi melalui antarmuka CLI, jadi tampilannya gelap dengan teks berwarna putih.

Tampilan top terbagi menjadi 2 bagian. Bagian atas berisi informasi uptime (termasuk load average), informasi jumlah proses, penggunaan CPU, dan penggunaan memory / RAM. Sedangkan bagian bawah, berisi informasi detail tentang penggunaan resource untuk tiap proses yang sedang berjalan.

memahami-penggunaan-cpu-pada-linux-dengan-topMetriks penggunaan CPU pada top di tampilkan seperti ini

%Cpu(s): 20,7 us, 5,1 sy, 0,0 ni, 43,7 id, 30,2 wa, 0,0 hi, 0,4 si, 0,0 st

Mungkin sobat bertanya-tanya, apa maksud dari metriks tersebut. Penjelasan lengkapnya adalah sebagai berikut.

Memahami Penggunaan CPU Pada Linux Dengan Top

Pada dasarnya CPU memiliki 3 kondisi.

  • Idle : Pada kondisi idle, CPU tidak melakukan apa-apa. CPU lagi santuy, gaes!
  • Menjalankan program userspace: CPU digunakan untuk menjalankan aktivitas user seperti browsing, mencetak dokumen, membuka email client, dan sebagainya
  • Menjalankan kernel: CPU juga bertugas menjalankan aktivitas kernel seperti mengatur pembagian resource atau mengatur interrupt.

Metriks CPU time pada utility top

Pada top, 3 kondisi ini kemudian di breakdown / di pecah menjadi beberapa kondisi. Misalnya pada contoh metriks CPU seperti di atas tadi:

%Cpu(s): 20,7 us, 5,1 sy, 0,0 ni, 43,7 id, 30,2 wa, 0,0 hi, 0,4 si, 0,0 st

20,7 us – us merupakan singkatan dari userspace. Dari contoh tersebut, dapat di tarik kesimpulan bahwa 20.7% CPU time sedang di gunakan untuk menjalankan aktivitas userspace.

Aktivitas userspace adalah semua jenis aktivitas yang bukan merupakan bagian dari aktivitas kernel. Misalnya, user sedang membuka browser, menjalankan editor teks, menggunakan mail client, memutar musik, dan sebagainya. Persentase CPU us biasanya tinggi selaras dengan kegiatan user.

5,1 sy – Metriks yang di tampilkan selanjutnya adalah CPU sy, yang merupakan singkatan dari system. Persentase CPU sy menunjukkan CPU time yang di gunakan oleh kernel untuk menjalankan aktivitas proses sistem. Misalnya aktivitas I/O, spawning proses anak (child processes), mengalokasikan memory, dan sebagainya.

Secara umum persentase metriks ini kecil. Namun bisa melonjak pada saat terjadi proses I/O dalam jumlah besar dan terus menerus.

0,0 niKegiatan userspace biasanya bisa di atur dengan menggunakan nice sehingga penggunaan CPU menjadi lebih terkendali. Jadi “ni” merupakan singkatan dari “niceness”. Persentase ni menunjukkan angka CPU time yang di gunakan dengan nice. Jika tidak ada proses dengan nice, maka angka ni selalu 0.

43,7 id – Nah, kalo ini adalah persentase CPU sedang idle. Dalam kondisi normal jumlah total persentase CPU userspace/us, CPU idle/id, dan CPU nice/ni harus mendekati angka 100. Jika angka persentase totalnya terpaut jauh dari 100, maka kemungkinan ada proses yang bermasalah dan harus di troubleshooting.

30,2 wa – Singkatan wa di sini adalah wait. Persentase CPU wait menunjukkan angka CPU time yag sedang menunggu sebuah proses I/O sampai selesai.

0,0 hi dan 0,4 siMetriks berikutnya adalah hi dan si, yaitu hardware interrupt dan software interrupt. Angka persentase hi dan si biasanya cukup rendah. Untuk mempelajari lebih lanjut tentang interrupt, silakan kunjungi laman interrupt pada Wikipedia.

0,0 stTerakhir adalah st, yang merupakan singkatan dari stolen. Sobat yang sudah sering menggunakan VPS tentunya sudah kenal dengan istilah CPU stolen atau CPU steal. CPU stolen hanya berlaku pada virtualisasi (misalnya KVM, XEN, VMWARE, OpenVZ, dan sejenisnya)

CPU steal adalah persentase CPU time yang “di curi” oleh mesin virtual lain yang berada dalam 1 node dengan kita. Mungkin, topik CPU steal akan admin bahas pada artikel terpisah.

Simpulan

Oke, sekian dulu sob, penjelasan singkat tentang memahami penggunaan dan kinerja CPU dengan menggunakan utility top pada sistem operasi berbasis Linux.

Dengan memahami metriks CPU pada top, maka kita akan lebih mudah saat melakukan troubleshooting pada perangkat yang kita gunakan. Terutama pada saat sobat melakukan optimasi perangkat agar menggunakan CPU secara lebih efisien.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan.