TMR 28 : Adinusa Linux System Administration - Modul 7

+    I/O Monitoring: Memahami dan Mengendalikan Kinerja Sistem Anda


>    Tujuan Pembelajaran

Di akhir pembahasan ini, kamu akan mampu:

-    Memahami pentingnya memantau aktivitas I/O (Input/Output), dan mengenali saat I/O menjadi sumber bottleneck pada sistem.
-    Menggunakan iostat untuk memantau aktivitas perangkat I/O pada sistem.
-    Menggunakan iotop untuk menampilkan tabel real-time dari penggunaan I/O saat ini.
-    Menggunakan ionice untuk mengatur I/O scheduling class dan prioritas dari suatu proses.



>    I/O Monitoring & Disk Bottlenecks: Saat Disk Jadi Biang Kerok Performa Lemot


-    Apa Itu Disk Bottleneck?

Masalah performa disk bukan hanya soal harddisk atau SSD yang lambat. Faktanya, masalah ini sering terhubung erat dengan RAM yang tidak cukup, jaringan yang lambat, atau bahkan pengaturan sistem yang kurang optimal. Menyusun benang kusut ini bisa jadi tantangan besar.


-    Sistem I/O-Bound? Ini Tandanya:

Sistem bisa disebut I/O-bound ketika:

  • CPU terlihat nganggur karena hanya menunggu data selesai dibaca/ditulis.

  • Proses jaringan (network) tertahan karena buffer belum kosong.

Namun, jangan cepat menyalahkan RAM atau jaringan. Terkadang, yang tampak seperti masalah memori justru disebabkan oleh I/O yang terlalu lambat.

Contohnya:

Buffer memori yang digunakan untuk baca/tulis jadi penuh → Sistem mengira memori penuh → Padahal yang terjadi: disk terlalu lambat mengosongkan atau mengisi buffer.

Begitu juga dengan jaringan:

Transfer data via jaringan bisa melambat karena proses masih menunggu operasi disk selesai.


-    Kenapa Real-Time Monitoring Itu Krusial?

Karena disk bottleneck itu licik – kadang hanya muncul sesekali dan cepat hilang. Itulah kenapa kita butuh alat monitoring real-time dan tracing (pelacakan mendalam) untuk benar-benar tahu apa yang terjadi.

Tapi hati-hati:

Masalah yang jarang atau tidak berulang bisa sulit untuk dideteksi dan dibuktikan.


-    Tuning I/O? Siap-Siap Masuk ke Dunia Kompleks!

Ada banyak variabel yang memengaruhi performa I/O—mulai dari driver disk, filesystem, hingga algoritma I/O scheduling.

Tapi jangan khawatir. Kita akan bahas soal I/O scheduling nanti.



>    Iostat


-    Pemantauan Aktivitas Perangkat I/O

iostat adalah utilitas dasar yang sangat berguna untuk memantau aktivitas perangkat I/O di sistem. Perintah ini dapat menghasilkan laporan yang berisi berbagai informasi penting, dengan isi yang bisa dikendalikan melalui opsi-opsi tertentu.


-    Output Dasar iostat

Ketika kamu mengetikkan perintah iostat tanpa opsi tambahan, kamu akan mendapatkan tampilan awal seperti pada gambar di bawah ini.


Setelah ringkasan singkat mengenai pemanfaatan CPU, statistik I/O akan ditampilkan dalam bentuk:

  • tps: transaksi I/O per detik (beberapa permintaan logis bisa digabung menjadi satu permintaan fisik),

  • blocks read/written per unit time: blok yang dibaca/ditulis per satuan waktu (umumnya blok = sektor 512 byte),

  • total blocks read/written: total seluruh blok yang telah dibaca dan ditulis.

Informasi ini dipecah berdasarkan partisi disk (dan jika menggunakan LVM, akan muncul juga perangkat dm atau device mapper).


-    Menampilkan dalam Kilobyte (KB)

Kamu bisa menggunakan opsi -k agar hasil ditampilkan dalam KB, bukan blok:

$ iostat -k


-    Menampilkan Berdasarkan Nama Perangkat

Opsi lain yang bermanfaat adalah -N untuk menampilkan hasil berdasarkan nama perangkat. Ada juga -d untuk format yang sedikit berbeda:

$ iostat -N


-    Menampilkan Laporan Lebih Detail

Untuk laporan yang lebih rinci, gunakan opsi -x (extended), dan kombinasikan dengan -k agar hasil tetap dalam KB:

$ iostat -xk


Catatan: Jika persentase pemanfaatan mendekati 100%, itu menandakan sistem sedang jenuh (saturated) atau terikat pada I/O (I/O bound).

 


>    Iotop


-    Pemantauan Penggunaan I/O secara Real-Time

Salah satu utilitas yang sangat berguna lainnya adalah iotop, yang harus dijalankan sebagai root. Program ini menampilkan tabel penggunaan I/O saat ini dan akan diperbarui secara berkala, mirip dengan perintah top.

Lihat contoh hasil perintah berikut:

$ sudo iotop


-    Menggunakan iotop

Kamu bisa melihat semua opsi yang tersedia dengan menambahkan --help:

$ iotop --help


Salah satu opsi yang sangat berguna adalah -o, yang hanya menampilkan proses yang sedang melakukan aktivitas I/O aktif, sehingga layar tidak terlalu ramai dengan data yang tidak penting.

$ sudo iotop -o

Dengan menggunakan iotop, kamu dapat langsung mengetahui proses mana yang sedang menggunakan disk paling banyak, yang sangat membantu dalam mengidentifikasi bottleneck I/O secara real-time.











Komentar