Perintah Iostat digunakan untuk memantau beban perangkat input/output (I/O) sistem dengan mengamati waktu perangkat aktif dalam kaitannya dengan kecepatan transfer rata-ratanya. Iostat membuat laporan yang dapat digunakan untuk mengubah konfigurasi sistem agar lebih menyeimbangkan input/output antar disk fisik.
Iostat disertakan dalam sysstat kemasan. Iostat secara default diinstal di sebagian besar Distribusi Linux.
Jika belum memilikinya, Anda harus menginstalnya terlebih dahulu.
Di RedHat / CentOS / Fedora
$ yum install sysstat
Di Debian / Ubuntu / Linux Mint
$ apt-get install sysstat
Bila perintah dijalankan tanpa argumen, perintah akan menghasilkan laporan mendetail yang berisi informasi sejak sistem di-boot . Anda dapat memberikan dua parameter opsional untuk mengubah ini:
iostat [option] [interval] [count]
- interval parameter menentukan durasi waktu dalam detik antara setiap laporan
- Hitung parameter memungkinkan Anda untuk menentukan jumlah laporan yang dihasilkan sebelum iostat keluar.
Saat perintah dijalankan untuk pertama kalinya dengan argumen ini, laporan pertama berisi informasi sejak sistem di-boot, sementara setiap laporan berikutnya mencakup periode waktu sejak laporan terakhir dibuat.
$ iostat 2 3
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.65 0.00 0.18 0.02 0.00 99.15
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.88 4.29 7.07 217829 358600
avg-cpu: %user %nice %system %iowait %steal %idle
1.01 0.00 0.50 0.00 0.00 98.49
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.50 0.00 2.01 0 4
avg-cpu: %user %nice %system %iowait %steal %idle
3.00 0.00 0.50 0.00 0.00 96.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 0.00 30.00 0 60
1. Dapatkan laporan dan statistik
iostat secara default tanpa opsi apa pun menampilkan laporan statistik yang terdiri dari CPU dan perangkat.
$ iostat
Keluaran:
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/22/2017 _x86_64 (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.69 0.00 0.19 0.02 0.04 99.08
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 3.40 14.08 1552428 6423128
Bagian pertama berisi laporan CPU
- %pengguna : persentase penggunaan CPU yang terjadi saat dijalankan di tingkat pengguna (aplikasi)
- %bagus : persentase penggunaan CPU yang terjadi saat mengeksekusi di tingkat pengguna dengan prioritas bagus
- %sistem : persentase penggunaan CPU yang terjadi saat dijalankan pada tingkat sistem (kernel)
- %iowait : persentase waktu CPU atau CPU dalam keadaan idle selama sistem memiliki permintaan I/O disk yang luar biasa
- %steal : persentase waktu yang dihabiskan untuk menunggu yang tidak disengaja oleh CPU atau CPU virtual saat hypervisor sedang melayani prosesor virtual lain
- %idle : persentase waktu CPU atau CPU dalam keadaan idle dan sistem tidak memiliki permintaan I/O disk yang luar biasa
Bagian kedua berisi laporan penggunaan perangkat
- Perangkat : nama perangkat/partisi seperti yang tercantum di /dev direktori
- tps : jumlah transfer per detik yang dikeluarkan ke perangkat. tps lebih tinggi berarti prosesor lebih sibuk
- Blk_read/s : menunjukkan jumlah data yang dibaca dari perangkat yang dinyatakan dalam jumlah blok (kilobyte, megabyte) per detik
- Blk_wrtn/s : jumlah data yang ditulis ke perangkat yang dinyatakan dalam sejumlah blok (kilobyte, megabyte) per detik
- Blk_read : tampilkan jumlah total blok yang dibaca
- Blk_wrtn : tampilkan jumlah total balok yang ditulis
iostat menggunakan file berikut untuk membuat laporan:
/proc/stat
berisi statistik sistem./proc/uptime
berisi waktu aktif sistem./proc/diskstats
berisi statistik disk./sys
berisi statistik untuk memblokir perangkat./proc/self/mountstats
berisi statistik untuk sistem file jaringan./dev/disk
berisi nama perangkat tetap.
2. Tampilkan lebih detail informasi statistik
Perintah Iostat memberikan penggunaan laporan perangkat I/O. Dimungkinkan untuk memperluas hasil statistik untuk diagnosis mendalam dengan opsi -x
.
$ iostat -x
Keluaran:
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.69 0.00 0.19 0.02 0.04 99.06
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.01 1.10 0.16 0.84 3.37 14.04 34.88 0.00 2.35 1.41 2.53 0.40 0.04
- cpu rata-rata: itu adalah informasi blok cpu
- Bagi: itu adalah informasi blok perangkat. Untuk memastikan Anda menggunakan perangkat yang baik
- %util :berapa banyak waktu yang dimiliki perangkat penyimpanan untuk bekerja (sibuk).
- svctm :menunjukkan seberapa cepat subsistem I/O Anda menanggapi permintaan secara keseluruhan saat sibuk. Sebenarnya, semakin sedikit Anda memuat sistem, semakin tinggi svctm.
- menunggu :menunjukkan seberapa cepat permintaan diproses. Itu hanya rata-rata.
- avgqu-sz :berapa banyak permintaan yang ada dalam antrian permintaan. Rendah =sistem Anda tidak dimuat, atau memiliki I/O bersambung dan tidak dapat menggunakan penyimpanan yang mendasarinya dengan benar. Tinggi =tumpukan perangkat lunak Anda cukup skalabel untuk memuat I/O dasar dengan benar.
- avgrq-sz :Hanya ukuran permintaan rata-rata. dapat menunjukkan jenis beban kerja yang terjadi.
- wsec/s &rsec/s :Sektor membaca dan menulis per detik. Bagi dengan 2048, dan Anda akan mendapatkan megabyte per detik.
- r/s &dengan :Permintaan baca dan tulis per detik. Angka-angka ini adalah angka-angka yang merupakan angka kapasitas I/O, meskipun tentu saja, tergantung pada seberapa besar tekanan yang diperoleh subsistem I/O yang mendasarinya (ukuran antrian!), mereka dapat bervariasi.
- rrqm/s &wrqm/s :Berapa banyak permintaan yang digabungkan oleh lapisan blok.
3. Hanya tampilkan statistik cpu
Hal ini dimungkinkan untuk menampilkan informasi statistik dan laporan cpu kami dengan -c
pilihan
$ iostat -c
Keluaran:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.93 0.08 2.40 3.35 0.00 81.24
4. Hanya tampilkan laporan perangkat
Status penggunaan perangkat hanya dapat ditampilkan dengan -d
pilihan. Ini akan mencantumkan informasi untuk setiap perangkat yang terhubung.
$ iostat -d
Keluaran:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 17.73 510.80 632.10 5127420 6345037
mmcblk0 0.03 0.63 0.00 6282 0
5. Tampilkan statistik I/O yang diperluas hanya untuk perangkat
Kami dapat menampilkan statistik yang diperluas di satu sisi dan dari sisi lain kami dapat menampilkan statistik yang diperluas. Artinya, kami hanya dapat menampilkan statistik yang diperluas untuk perangkat dengan opsi -xd
.
$ iostat -xd
Keluaran:
$ iostat -xd
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.48 25.33 8.43 7.81 417.06 540.42 117.88 1.18 72.83 35.98 112.62 6.18 10.03
mmcblk0 0.30 0.00 0.02 0.00 0.49 0.00 49.47 0.00 3.73 3.73 4.00 2.99 0.01
6. Tangkap statistik dalam kilobyte atau megabyte
Secara default, iostat mengukur sistem I/O dengan satuan byte. Agar lebih mudah dibaca, kita bisa mengonversi iostat untuk menampilkan laporan dalam satuan kilobyte atau megabyte.
Cukup tambahkan opsi -k
untuk membuat laporan dengan satuan kilobyte.
$ iostat -k
Keluaran:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.54 0.08 2.37 3.41 0.00 81.61
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 16.18 345.76 504.55 5622164 8204113
mmcblk0 0.02 0.39 0.00 6282 0
Opsi -m
untuk membuat laporan dengan satuan megabyte.
$ iostat -m
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
12.54 0.08 2.37 3.41 0.00 81.61
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 16.18 0.34 0.49 5490 8012
mmcblk0 0.02 0.00 0.00 6 0
7. Menampilkan statistik cpu dan perangkat dengan penundaan
Sama dengan vmstat, sebagai alat statistik cara terbaik untuk menggunakannya adalah dengan parameter penundaan. Dengan penundaan, kita bisa melihat apa yang sedang tren. Berikut adalah beberapa contoh untuk menjalankan iostat dengan penundaan.
Jalankan iostat dengan satuan kilobyte, interval 2 detik dengan laporan 3 kali.
$ iostat -k 2 3
Keluaran:
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.70 0.00 0.19 0.02 0.03 99.05
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 3.33 14.03 1561788 6572152
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.00 0.00 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
3.52 0.00 0.50 0.00 0.00 95.98
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.51 0.00 12.06 0 24
Untuk menampilkan laporan hanya CPU dengan interval 2 detik dan laporan 2 kali, ketik:
$ iostat -c 2 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.71 0.00 0.19 0.02 0.03 99.05
avg-cpu: %user %nice %system %iowait %steal %idle
1.50 0.00 0.00 0.00 0.00 98.50
Untuk menampilkan laporan hanya perangkat sda6 dan sda7 dengan interval 2 detik dan laporan 2 kali, jalankan:
$ iostat -d sda7 sda6 2 2
Keluaran:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda6 3.40 108.29 130.75 1928577 2328496
sda7 12.19 211.96 305.79 3774804 5445696
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda6 0.00 0.00 0.00 0 0
sda7 1.00 0.00 24.00 0 48
8. Tampilkan statistik nama perangkat persisten
Laporan dapat dicetak berdasarkan nama perangkat. Alih-alih /dev/sda
standar nama, itu akan mencetak nama perangkat persisten menggunakan opsi -j
dan menambahkan ID
kata kunci (tentukan jenis nama persisten).
$ iostat -j ID mmcbkl0 sda6 -x -m 2 2
Keluaran:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
14.33 0.10 2.48 3.26 0.00 79.83
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
ata-ST500LT012-1DG142_S3P4312X-part6
0.19 0.88 2.51 0.82 0.10 0.12 138.36 0.21 61.81 57.12 76.12 10.81 3.60
avg-cpu: %user %nice %system %iowait %steal %idle
19.40 0.00 1.25 0.63 0.00 78.72
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
ata-ST500LT012-1DG142_S3P4312X-part6
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
9. Menampilkan statistik untuk memblokir perangkat
Dimungkinkan untuk langsung menampilkan informasi untuk setiap perangkat blok secara otomatis. Tidak perlu menunjukkan setiap nama perangkat. Ini akan menampilkan statistik untuk perangkat blok dan semua partisinya yang digunakan oleh sistem. Jika nama perangkat dimasukkan pada baris perintah, maka statistik untuk itu dan semua partisinya akan ditampilkan. Cukup gunakan -p
pilihan
$ iostat -p
Keluaran:
Linux 4.4.0-78-generic (shinigami) 05/23/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
14.93 0.10 2.51 3.19 0.00 79.28
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 15.82 297.18 474.87 5928512 9473117
sda1 0.00 0.11 0.00 2108 0
sda2 0.01 0.28 0.00 5679 1
sda3 0.00 0.10 0.00 2084 0
sda4 0.00 0.10 0.00 2092 0
sda5 0.09 0.77 45.62 15428 910068
sda6 3.26 102.76 117.09 2049957 2335908
sda7 12.09 192.75 306.99 3845120 6124136
sda8 0.12 0.20 5.16 3896 103004
mmcblk0 0.01 0.31 0.00 6282 0
mmcblk0p1 0.01 0.26 0.00 5242 0
$ iostat -p sdf 1 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos7-srv) 05/23/2017 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
7.18 0.41 3.94 4.10 0.00 84.37
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdf 0.47 3.54 0.00 4656 0
sdf1 0.09 0.70 0.00 920 0
sdf2 0.09 0.69 0.00 904 0
sdf3 0.09 0.69 0.00 904 0
sdf4 0.09 0.69 0.00 904 0
avg-cpu: %user %nice %system %iowait %steal %idle
6.00 1.00 2.00 0.00 0.00 91.00
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdf 0.00 0.00 0.00 0 0
sdf1 0.00 0.00 0.00 0 0
sdf2 0.00 0.00 0.00 0 0
sdf3 0.00 0.00 0.00 0 0
sdf4 0.00 0.00 0.00 0 0
10. Tampilkan informasi statistik lvm2
Dimungkinkan untuk melihat statistik LVM menggunakan opsi -N
. Perintah tersebut menampilkan nama device mapper yang terdaftar untuk perangkat device mapper apapun.
$ iostat -N
Kesimpulan
Kami dapat memberi tahu iostat untuk menghilangkan output untuk perangkat apa pun yang tidak memiliki aktivitas selama periode sampel dengan -z
pilihan.
Salah satu keuntungan alat ini adalah Anda dapat menjalankannya tanpa hak akses root. Anda dapat menggalinya lebih dalam dengan menjelajahi halaman manual iostat dengan mengetik man iostat di konsol Anda untuk menampilkan halaman manual iostat.
Baca Juga:
- Cara Memantau Kinerja Linux Menggunakan Perintah Sar
- 14 Alat Baris Perintah untuk Memeriksa Penggunaan CPU di Linux