[cPanel/WHM] – Troubleshooting I/O dan load server cPanel dengan iotop

[cPanel/WHM] - Troubleshooting I/O dan load server cPanel dengan iotop

Jika server Anda terasa lambat atau tidak responsif, salah satu penyebab umum adalah penggunaan input/output (I/O) disk yang tinggi atau beban server (load) yang membludak. Mendiagnosis masalah ini bisa jadi rumit karena banyak proses yang mungkin aktif. Untungnya, ada alat bantu yang sangat efektif bernama iotop yang dapat membantu Anda mengidentifikasi proses mana yang paling banyak menggunakan sumber daya disk.

iotop adalah utilitas baris perintah mirip dengan top, namun fokus pada pemantauan penggunaan disk I/O secara real-time. Ini memungkinkan Anda melihat dengan jelas proses mana saja yang sedang membaca atau menulis data ke disk, dan seberapa besar dampaknya terhadap performa I/O sistem. Dengan informasi ini, Anda dapat dengan cepat pinpoint proses yang bertanggung jawab atas beban I/O tinggi.

Cara Install iotop

Sebelum menggunakan iotop, pastikan utilitas ini sudah terpasang di server Anda. Proses instalasinya cukup mudah tergantung pada distribusi Linux yang Anda gunakan:

  • Untuk sistem berbasis Red Hat/CentOS/AlmaLinux/Rocky Linux (menggunakan yum/dnf):

atau jika menggunakan dnf:

  • Untuk sistem berbasis Debian/Ubuntu (menggunakan apt):

Menggunakan iotop

Setelah terinstal, Anda dapat menjalankan iotop langsung dari terminal dengan hak akses superuser (sudo):

Secara default, iotop akan menampilkan daftar proses yang sedang melakukan I/O disk dan memperbarui tampilannya secara berkala.

Berikut adalah contoh ouput dari command iotop:

Baca Juga:  Cara Install Apache Web Server di Cloud VPS AlmaLinux 8

Memahami Output iotop

Saat iotop berjalan, Anda akan melihat tampilan interaktif yang memperbarui diri secara berkala. Ini adalah kolom-kolom utama yang perlu Anda perhatikan untuk mendiagnosis masalah I/O tinggi:

  • TID: Thread ID. Nomor identifikasi unik untuk setiap thread atau proses.
  • PRIO: Priority. Prioritas penjadwalan I/O proses.
  • USER: Pengguna yang menjalankan proses tersebut.
  • DISK READ: Kecepatan baca disk oleh proses ini saat ini (dalam KB/s, MB/s, atau GB/s). Ini menunjukkan seberapa cepat proses tersebut membaca data dari disk.
  • DISK WRITE: Kecepatan tulis disk oleh proses ini saat ini. Ini menunjukkan seberapa cepat proses tersebut menulis data ke disk.
  • SWAPIN: Persentase waktu proses ini bertukar data ke swap space. Nilai tinggi di sini bisa menunjukkan bahwa sistem kekurangan RAM dan sering memindahkan data dari RAM ke disk (swapping), yang dapat menyebabkan I/O tinggi.
  • IO%: Persentase waktu proses ini menunggu I/O disk selesai. Ini adalah indikator kunci seberapa besar dampak proses terhadap antrean I/O disk secara keseluruhan. Nilai tinggi (mendekati 100%) menandakan proses tersebut sangat aktif dalam I/O dan mungkin menjadi penyebab utama beban disk tinggi atau server loading.
  • COMMAND: Perintah atau nama program yang dijalankan oleh proses tersebut. Ini adalah identitas proses yang perlu Anda selidiki.

Mendiagnosis Masalah I/O Tinggi

Untuk mengidentifikasi proses yang menyebabkan I/O atau beban tinggi, fokuslah pada kolom DISK READ, DISK WRITE, dan terutama IO%.

  1. Perhatikan IO%: Cari proses dengan nilai IO% yang konsisten tinggi, terutama yang mendekati atau mencapai 100%. Proses inilah yang paling banyak menghabiskan waktu menunggu operasi I/O disk.
  2. DISK READ/WRITE: Untuk proses dengan IO% tinggi, periksa apakah masalahnya ada pada aktivitas baca (DISK READ) atau tulis (DISK WRITE) yang intensif.
  3. COMMAND dan USER: Setelah menemukan proses dengan I/O tinggi, lihat kolom COMMAND untuk mengetahui program atau skrip apa yang sedang berjalan, dan kolom USER untuk mengetahui siapa yang menjalankan proses tersebut.
Baca Juga:  [cPanel/WHM] - Cara menginstal cPanel & WHM di Linode

Dengan mengidentifikasi perintah (COMMAND) dan pengguna (USER) dari proses yang memiliki IO% tinggi, Anda dapat mulai memahami akar masalahnya.

Langkah Selanjutnya Setelah Identifikasi

Setelah Anda berhasil mengidentifikasi proses yang bertanggung jawab, langkah selanjutnya tergantung pada sifat proses tersebut:

  • Investigasi Lebih Lanjut: Cari tahu mengapa proses tersebut membutuhkan begitu banyak I/O. Apakah itu aktivitas normal (misalnya, backup, indeks database, pemindaian antivirus) yang hanya perlu dijadwalkan ulang atau dioptimalkan? Ataukah itu aktivitas yang tidak diinginkan, proses yang macet, atau serangan?
  • Hentikan Proses (Opsional dan Hati-hati): Jika Anda yakin proses tersebut tidak diinginkan atau macet dan menyebabkan masalah signifikan, Anda dapat mempertimbangkan untuk menghentikannya. Gunakan perintah kill dengan hati-hati, misalnya kill [TID] atau killall [nama_perintah]. Pastikan Anda tahu persis apa yang Anda hentikan agar tidak merusak sistem.

Dengan menggunakan iotop, Anda mendapatkan visibilitas yang jelas ke dalam aktivitas I/O disk server Anda secara real-time, menjadikannya alat yang sangat berharga untuk mendiagnosis dan mengatasi masalah performa yang disebabkan oleh I/O tinggi atau beban server. Ini adalah langkah pertama yang penting dalam menjaga server Anda berjalan lancar dan responsif.