Jika Anda telah mengikuti posting saya di sini di Aktifkan Sysadmin, Anda tahu bahwa saya sebelumnya bekerja sebagai insinyur dukungan penyimpanan. Salah satu dari banyak tugas saya dalam peran itu adalah membantu pelanggan mereplikasi cadangan dari lingkungan produksi mereka ke susunan penyimpanan cadangan khusus. Sering kali, pelanggan menghubungi saya karena khawatir tentang kecepatan transfer data dari produksi ke penyimpanan.
Sekarang, jika Anda pernah bekerja dalam mendukung, Anda tahu bahwa ada banyak penyebab gejala. Namun, throughput suatu sistem dapat memiliki implikasi besar untuk transfer data besar-besaran. Jika semuanya baik-baik saja, kita berbicara berjam-jam, jika tidak... Saya telah melihat satu pekerjaan replikasi membutuhkan waktu berbulan-bulan.
Kita tahu bahwa Linux dimuat penuh dengan alat yang berguna untuk segala macam masalah. Untuk pemantauan input/output, kami menggunakan iostat
memerintah. iostat
adalah bagian dari sysstat
paket dan tidak dimuat di semua distribusi secara default.
Instalasi dan pengoperasian dasar
Saya menggunakan Red Hat Enterprise Linux 8 di sini dan telah menyertakan hasil instalasi di bawah ini.
[ Ingin mencoba Red Hat Enterprise Linux? Unduh sekarang secara gratis. ]
CATATAN :perintah berjalan secara otomatis setelah instalasi.
[root@rhel ~]# iostat
bash: iostat: command not found...
Install package 'sysstat' to provide command 'iostat'? [N/y] y
* Waiting in queue...
The following packages have to be installed:
lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64 Lm_sensors core libraries
sysstat-11.7.3-2.el8.x86_64 Collection of performance monitoring tools for Linux
Proceed with changes? [N/y] y
* Waiting in queue...
* Waiting for authentication...
* Waiting in queue...
* Downloading packages...
* Requesting data...
* Testing changes...
* Installing packages...
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2.17 0.05 4.09 0.65 0.00 83.03
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 206.70 8014.01 1411.92 1224862 215798
sdc 0.69 20.39 0.00 3116 0
sdb 0.69 20.39 0.00 3116 0
dm-0 215.54 7917.78 1449.15 1210154 221488
dm-1 0.64 14.52 0.00 2220 0
Jika Anda menjalankan perintah dasar tanpa opsi, iostat
menampilkan informasi penggunaan CPU. Ini juga menampilkan statistik I/O untuk setiap partisi pada sistem. Outputnya mencakup total, serta nilai per detik untuk operasi baca dan tulis. Perhatikan juga bahwa tps field adalah jumlah total Transfer per detik dikeluarkan untuk perangkat tertentu.
Aplikasi praktisnya adalah ini:jika Anda tahu perangkat keras apa yang digunakan, maka Anda tahu parameter apa yang harus dioperasikan di dalamnya. Setelah Anda menggabungkan pengetahuan ini dengan output iostat
, Anda dapat membuat perubahan pada sistem Anda.
Interval berjalan
Ini dapat berguna dalam fase pemecahan masalah atau pengumpulan data untuk menjalankan laporan pada interval tertentu. Untuk melakukannya, jalankan perintah dengan interval (dalam detik) di akhir:
[root@rhel ~]# iostat -m 10
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.94 0.05 0.35 0.04 0.00 98.62
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 12.18 0.44 0.12 1212 323
sdc 0.04 0.00 0.00 3 0
sdb 0.04 0.00 0.00 3 0
dm-0 12.79 0.43 0.12 1197 329
dm-1 0.04 0.00 0.00 2 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.24 0.00 0.15 0.00 0.00 99.61
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.20 0.00 0.18 0.00 0.00 99.62
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.50 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.50 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
Output di atas adalah dari lari 30 detik.
Anda harus menggunakan Ctrl + C untuk keluar dari proses.
Bacaan mudah
Untuk membersihkan output dan membuatnya lebih mudah dicerna, gunakan opsi berikut:
-m
mengubah keluaran menjadi megabita, yang sedikit lebih mudah dibaca dan biasanya lebih dipahami oleh pelanggan atau pengelola.
[root@rhel ~]# iostat -m
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.51 0.09 0.55 0.07 0.00 97.77
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 22.23 0.81 0.21 1211 322
sdc 0.07 0.00 0.00 3 0
sdb 0.07 0.00 0.00 3 0
dm-0 23.34 0.80 0.22 1197 328
dm-1 0.07 0.00 0.00 2 0
-p
memungkinkan Anda untuk menentukan perangkat tertentu untuk fokus. Anda dapat menggabungkan opsi ini dengan -m
untuk tampilan yang bagus dan rapi pada perangkat dan partisinya.
[root@rhel ~]# iostat -m -p sda
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.19 0.07 0.45 0.06 0.00 98.24
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 17.27 0.63 0.17 1211 322
sda2 16.83 0.62 0.17 1202 320
sda1 0.10 0.00 0.00 7 2
Statistik tingkat lanjut
Jika nilai default tidak memberikan informasi yang Anda butuhkan, Anda dapat menggunakan -x
tandai untuk melihat statistik yang diperluas:
[root@rhel ~]# iostat -m -p sda -x
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.06 0.06 0.40 0.05 0.00 98.43
Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 12.20 2.83 0.54 0.14 0.02 0.92 0.16 24.64 0.55 0.50 0.00 45.58 52.37 0.46 0.69
sda2 12.10 2.54 0.54 0.14 0.02 0.92 0.16 26.64 0.55 0.47 0.00 45.60 57.88 0.47 0.68
sda1 0.08 0.01 0.00 0.00 0.00 0.00 0.00 23.53 0.44 1.00 0.00 43.00 161.08 0.57 0.00
Beberapa opsi yang perlu diperhatikan di sini adalah:
- avgqu-sz - rata-rata panjang antrean permintaan yang dikeluarkan ke perangkat
- menunggu - waktu rata-rata untuk permintaan I/O yang dikeluarkan ke perangkat untuk dilayani (milidetik)
- r_await - waktu rata-rata untuk melayani permintaan baca (milidetik)
- w_await - waktu rata-rata untuk melayani permintaan tulis (milidetik)
Ada nilai-nilai lain yang ada, tetapi inilah yang harus diwaspadai.
Mematikan
Artikel ini mencakup hampir semua yang Anda butuhkan untuk memulai iostat
. Jika Anda memiliki pertanyaan lain atau memerlukan penjelasan lebih lanjut tentang opsi, pastikan untuk memeriksa halaman manual atau mesin pencari pilihan Anda. Untuk tips dan trik Linux lainnya, pantau terus Aktifkan Sysadmin!
[ Kursus online gratis:Tinjauan teknis Red Hat Enterprise Linux. ]