GNU/Linux >> Belajar Linux >  >> Linux

10 Perintah iostat Linux untuk Melaporkan Statistik CPU dan I/O

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

Linux
  1. Perintah Linux - Gambaran Umum dan Contoh

  2. Pelaporan I/O dari baris perintah Linux

  3. Perintah Linux:pekerjaan, bg, dan fg

  1. contoh Perintah swapon dan swapoff di Linux

  2. Linux dan port penyelesaian I/O?

  3. Mengevaluasi CPU I/O menunggu di Linux

  1. Perintah Linux Cat:Penggunaan dan Contohnya

  2. Perintah mpstat Linux - Melaporkan Statistik Terkait Prosesor

  3. Linux top command:Apa kita, sy, ni, id, wa, hi, si dan st (untuk penggunaan CPU)?