Rumah  >  Artikel  >  Tutorial sistem  >  Fahami prestasi cakera Linux menggunakan arahan iostat

Fahami prestasi cakera Linux menggunakan arahan iostat

WBOY
WBOYke hadapan
2023-12-29 09:11:581138semak imbas

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!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam