Rumah > Artikel > Tutorial sistem > Fahami prestasi cakera Linux menggunakan arahan iostat
Pengenalan
iostat digunakan terutamanya untuk memantau beban IO peranti sistem Apabila iostat dijalankan buat kali pertama, ia memaparkan pelbagai maklumat statistik sejak sistem dimulakan selepas itu akan memaparkan maklumat statistik sejak kali terakhir arahan dijalankan. Pengguna boleh mendapatkan maklumat statistik yang diperlukan dengan menyatakan bilangan dan masa statistik.
Tatabahasa
iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ peranti [...] | ] [ -p [ peranti [,...] | SEMUA ] ] [ selang [ kiraan ] ]
Bermula
iostat -d -k 1 10 Device:tpskB_read/skB_wrtn/skB_readkB_wrtn sda39.2921.14 1.44441339807 29990031 sda10.00 0.00 0.00 1623523 sda21.32 1.43 4.54 29834273 94827104 sda36.30 0.8524.95 17816289520725244 sda50.85 0.46 3.409543503 70970116 sda60.00 0.00 0.00550236 sda70.00 0.00 0.004060 sda80.00 0.00 0.004060 sda90.00 0.00 0.004060 sda1060.6818.3571.43383002263 1490928140 Device:tpskB_read/skB_wrtn/skB_readkB_wrtn sda 327.555159.18 102.04 5056100 sda10.00 0.00 0.0000
Parameter -d menunjukkan bahawa status penggunaan peranti (cakera) dipaparkan; -k beberapa lajur yang menggunakan blok kerana unit terpaksa menggunakan Kilobait sebagai unit 2 menunjukkan bahawa paparan data dimuat semula setiap 2 saat.
Maksud maklumat output
tps: Nyatakan bilangan pemindahan sesaat yang dikeluarkan kepada peranti. "Satu pemindahan" bermaksud "satu permintaan I/O". Permintaan logik berbilang boleh digabungkan menjadi "satu permintaan I/O". Saiz permintaan "satu pemindahan" tidak diketahui.
kB_read/s: Jumlah data dibaca daripada peranti (pemacu yang dinyatakan) sesaat
kB_wrtn/s: Jumlah data yang ditulis pada peranti (pemacu yang dinyatakan) sesaat
kB_read: Jumlah jumlah data yang dibaca
kB_wrtn: Jumlah jumlah data yang ditulis;
Dalam contoh di atas, kita boleh melihat statistik cakera sda dan pelbagai partitionnya Jumlah TPS cakera yang dikira pada masa itu ialah 39.29. Berikut adalah TPS setiap partition. (Oleh kerana ia adalah nilai serta-merta, jumlah TPS tidak sama dengan jumlah TPS setiap partition)
Nyatakan nama peranti yang dipantau sebagai sda Output arahan ini adalah sama seperti arahan di atas.
iostat -d sda 2
Pantau semua peranti cakera keras secara lalai, kini hanya pantau sda.
-x parameter
iostat juga mempunyai pilihan -x yang lebih biasa digunakan, yang akan digunakan untuk memaparkan data lanjutan yang berkaitan dengan io.
iostat -d -x -k 1 10 Device:rrqm/s wrqm/s r/s w/srsec/swsec/srkB/swkB/s avgrq-sz avgqu-sz awaitsvctm%util sda1.5628.317.80 31.49 42.512.9221.26 1.46 1.16 0.030.79 2.6210.28 Device:rrqm/s wrqm/s r/s w/srsec/swsec/srkB/swkB/s avgrq-sz avgqu-sz awaitsvctm%util sda2.0020.00 381.007.00 12320.00216.006160.00 108.0032.31 1.754.50 2.1784.20
Maksud maklumat output
rrqm/s: Berapa banyak permintaan baca yang berkaitan dengan peranti ini digabungkan sesaat (apabila panggilan sistem perlu membaca data, VFS akan menghantar permintaan kepada setiap FS. Jika FS mendapati permintaan baca yang berbeza dibaca Untuk data yang sama blok, FS akan menggabungkan permintaan ke dalam Merge); wrqm/s: Berapa banyak permintaan tulis yang berkaitan dengan peranti ini digabungkan sesaat.
rsec/s: Bilangan sektor dibaca sesaat
wsec/: Bilangan sektor yang ditulis sesaat.
rKB/s: Bilangan permintaan baca yang dikeluarkan kepada peranti sesaat
wKB/s: Bilangan permintaan tulis yang dikeluarkan kepada peranti sesaat
purata saiz sektor yang diminta avgrq-sz
avgqu-sz ialah purata panjang gilir permintaan. Tidak syak lagi bahawa lebih pendek panjang giliran, lebih baik.
menunggu: Purata masa pemprosesan setiap permintaan IO (unit ialah mikrosaat dan milisaat). Ini boleh difahami sebagai masa tindak balas IO Secara amnya, masa tindak balas IO sistem hendaklah kurang daripada 5ms. Jika lebih daripada 10ms, ia akan menjadi lebih besar.
Masa ini termasuk masa giliran dan masa perkhidmatan Maksudnya, dalam keadaan biasa, menunggu adalah lebih besar daripada svctm Semakin kecil perbezaan antara mereka, semakin pendek masa giliran masa, menunjukkan bahawa sistem telah gagal.
svctm mewakili purata masa perkhidmatan (dalam milisaat) bagi setiap operasi I/O peranti. Jika nilai svctm sangat hampir dengan menunggu, bermakna hampir tiada I/O menunggu dan prestasi cakera adalah sangat baik Jika nilai await jauh lebih tinggi daripada nilai svctm, bermakna I/. O menunggu giliran terlalu lama dan aplikasi yang berjalan pada sistem akan Perlahan.
%util: Semua masa pemprosesan IO dalam masa statistik, dibahagikan dengan jumlah masa statistik. Contohnya, jika selang statistik ialah 1 saat, peranti sedang memproses IO selama 0.8 saat dan melahu selama 0.2 saat, maka %util = 0.8/1 = 80% peranti, jadi parameter ini menunjukkan betapa sibuknya peranti
. Secara amnya, jika parameter ini ialah 100%, ini bermakna peranti berjalan hampir dengan kapasiti penuh (sudah tentu, jika terdapat berbilang cakera, walaupun %util ialah 100%, penggunaan cakera mungkin tidak menjadi halangan kerana keselarasan cakera keupayaan).
-c parameter
iostat juga boleh digunakan untuk mendapatkan sebahagian daripada nilai status CPU:
iostat -c 1 10
avg-cpu: %user %nice %sys %iowait %idle
1.98 0.00 0.35 11.45 86.22
avg-cpu: %user %nice %sys %iowait %idle
1.62 0.00 0.25 34.46 63.67
Penggunaan biasa
iostat -d -k 1 10 #Lihat TPS dan maklumat throughput (unit kelajuan baca dan tulis cakera ialah KB)
iostat -d -m 2 #Lihat maklumat TPS dan pemprosesan (kepantasan membaca dan menulis cakera dalam MB)
iostat -d -x -k 1 10 #Lihat penggunaan peranti (%util), masa tindak balas (menunggu) iostat -c 1 10 #Lihat status cpu
Analisis kes
ostat -d -k 1 |grep sda10 Device:tpskB_read/skB_wrtn/skB_readkB_wrtn sda1060.7218.9571.53395637647 1493241908 sda10 299.024266.67 129.41 4352132 sda10 483.844589.904117.17 4544 4076 sda10 218.003360.00 100.00 3360100 sda10 546.008784.00 124.00 8784124 sda10 827.00 13232.00 136.0013232136
Seperti yang dilihat di atas, purata bilangan pemindahan cakera sesaat ialah kira-kira 400 cakera membaca kira-kira 5MB sesaat dan menulis kira-kira 1MB.
iostat -d -x -k 1 Device:rrqm/s wrqm/s r/s w/srsec/swsec/srkB/swkB/s avgrq-sz avgqu-sz awaitsvctm%util sda1.5628.317.84 31.50 43.653.1621.82 1.58 1.19 0.030.80 2.6110.29 sda1.9824.75 419.806.93 13465.35253.476732.67 126.7332.15 2.004.70 2.0085.25 sda3.0641.84 444.90 54.08 14204.08 2048.987102.041024.4932.57 2.104.21 1.8592.24
Anda dapat melihat bahawa purata masa tindak balas cakera ialah cb00cdf785cb566b2b8881b0db6e353d80. Cakera bertindak balas secara normal, tetapi sudah sangat sibuk.
Atas ialah kandungan terperinci Fahami prestasi cakera Linux menggunakan arahan iostat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!