Linux iostat命令詳解

iostat主要用于監(jiān)控系統(tǒng)設(shè)備的IO負(fù)載情況氮昧,iostat首次運(yùn)行時(shí)顯示自系統(tǒng)啟動(dòng)開始的各項(xiàng)統(tǒng)計(jì)信息考润,之后運(yùn)行iostat將顯示自上次運(yùn)行該命令以后的統(tǒng)計(jì)信息燥透。用戶可以通過指定統(tǒng)計(jì)的次數(shù)和時(shí)間來獲得所需的統(tǒng)計(jì)信息卡睦。

1.命令格式:

iostat[參數(shù)][時(shí)間][次數(shù)]

2.命令功能:

通過iostat方便查看CPU肮疗、網(wǎng)卡爬泥、tty設(shè)備柬讨、磁盤、CD-ROM 等等設(shè)備的活動(dòng)情況,負(fù)載信息袍啡。

3.命令參數(shù):

-C 顯示CPU使用情況
-d 顯示磁盤使用情況
-k 以 KB 為單位顯示
-m 以 M 為單位顯示
-N 顯示磁盤陣列(LVM) 信息
-n 顯示NFS 使用情況
-p[磁盤] 顯示磁盤和分區(qū)的情況
-t 顯示終端和CPU的信息
-x 顯示詳細(xì)信息
-V 顯示版本信息

4.基本使用
$iostat -d -k 1 10

參數(shù) -d 表示踩官,顯示設(shè)備(磁盤)使用狀態(tài);-k某些使用block為單位的列強(qiáng)制使用Kilobytes為單位境输;1 10表示蔗牡,數(shù)據(jù)顯示每隔1秒刷新一次,共顯示10次嗅剖。

$iostat -d -k 1 10
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              39.29        21.14         1.44  441339807   29990031
sda1              0.00         0.00         0.00       1623        523
sda2              1.32         1.43         4.54   29834273   94827104
sda3              6.30         0.85        24.95   17816289  520725244
sda5              0.85         0.46         3.40    9543503   70970116
sda6              0.00         0.00         0.00        550        236
sda7              0.00         0.00         0.00        406          0
sda8              0.00         0.00         0.00        406          0
sda9              0.00         0.00         0.00        406          0
sda10            60.68        18.35        71.43  383002263 1490928140

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             327.55      5159.18       102.04       5056        100
sda1              0.00         0.00         0.00          0          0
cpu屬性值說明:

%user:CPU處在用戶模式下的時(shí)間百分比辩越。
%nice:CPU處在帶NICE值的用戶模式下的時(shí)間百分比。
%system:CPU處在系統(tǒng)模式下的時(shí)間百分比信粮。
%iowait:CPU等待輸入輸出完成時(shí)間的百分比黔攒。
%steal:管理程序維護(hù)另一個(gè)虛擬處理器時(shí),虛擬CPU的無意識(shí)等待時(shí)間百分比强缘。
%idle:CPU空閑時(shí)間百分比督惰。

備注:如果%iowait的值過高,表示硬盤存在I/O瓶頸旅掂,%idle值高姑丑,表示CPU較空閑,如果%idle值高但系統(tǒng)響應(yīng)慢時(shí)辞友,有可能是CPU等待分配內(nèi)存,此時(shí)應(yīng)加大內(nèi)存容量。%idle值如果持續(xù)低于10称龙,那么系統(tǒng)的CPU處理能力相對(duì)較低留拾,表明系統(tǒng)中最需要解決的資源是CPU。

disk屬性值說明:
rrqm/s: 每秒進(jìn)行 merge 的讀操作數(shù)目鲫尊。即 rmerge/s
wrqm/s: 每秒進(jìn)行 merge 的寫操作數(shù)目痴柔。即 wmerge/s
r/s: 每秒完成的讀 I/O 設(shè)備次數(shù)。即 rio/s
w/s: 每秒完成的寫 I/O 設(shè)備次數(shù)疫向。即 wio/s
rsec/s: 每秒讀扇區(qū)數(shù)咳蔚。即 rsect/s
wsec/s: 每秒寫扇區(qū)數(shù)。即 wsect/s
rkB/s: 每秒讀K字節(jié)數(shù)搔驼。是 rsect/s 的一半谈火,因?yàn)槊可葏^(qū)大小為512字節(jié)。
wkB/s: 每秒寫K字節(jié)數(shù)舌涨。是 wsect/s 的一半糯耍。
avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))。
avgqu-sz: 平均I/O隊(duì)列長(zhǎng)度囊嘉。
await: 平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒)温技。
svctm: 平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)。
%util: 一秒中有百分之多少的時(shí)間用于 I/O 操作扭粱,即被io消耗的cpu百分比

備注:如果 %util 接近 100%舵鳞,說明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷琢蛤,該磁盤可能存在瓶頸蜓堕。如果 svctm 比較接近 await,說明 I/O 幾乎沒有等待時(shí)間虐块;如果 await 遠(yuǎn)大于 svctm俩滥,說明I/O 隊(duì)列太長(zhǎng),io響應(yīng)太慢贺奠,則需要進(jìn)行必要優(yōu)化霜旧。如果avgqu-sz比較大,也表示有當(dāng)量io在等待儡率。

5.常見用法

$iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看設(shè)備使用率(%util)挂据、響應(yīng)時(shí)間(await)
iostat -c 1 10 #查看cpu狀態(tài)

  1. 實(shí)例分析
$$iostat -d -k 1 |grep sda10
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn   
sda10            60.72        18.95        71.53  395637647 1493241908
sda10           299.02      4266.67       129.41       4352        132
sda10           483.84      4589.90      4117.17       4544       4076
sda10           218.00      3360.00       100.00       3360        100
sda10           546.00      8784.00       124.00       8784        124
sda10           827.00     13232.00       136.00      13232        136

上面看到,磁盤每秒傳輸次數(shù)平均約400儿普;每秒磁盤讀取約5MB崎逃,寫入約1MB。

iostat -d -x -k 1
Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda          1.56  28.31  7.84 31.50   43.65    3.16    21.82     1.58     1.19     0.03    0.80   2.61  10.29
sda          1.98  24.75 419.80  6.93 13465.35  253.47  6732.67   126.73    32.15     2.00    4.70   2.00  85.25
sda          3.06  41.84 444.90 54.08 14204.08 2048.98  7102.04  1024.49    32.57     2.10    4.21   1.85  92.24

可以看到磁盤的平均響應(yīng)時(shí)間<5ms眉孩,磁盤使用率>80个绍。磁盤響應(yīng)正常勒葱,但是已經(jīng)很繁忙了(主要是看%util和svctm)。

六巴柿、總結(jié)

????????如果 %util 接近 100%凛虽,說明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷广恢,該磁盤可能存在瓶頸凯旋。 idle小于70% IO壓力就較大了,一般讀取速度有較多的wait钉迷。
同時(shí)可以結(jié)合vmstat 查看查看b參數(shù)(等待資源的進(jìn)程數(shù))和wa參數(shù)(IO等待所占用的CPU時(shí)間的百分比至非,高過30%時(shí)IO壓力高)。
????????另外 await 的參數(shù)也要多和 svctm 來參考糠聪。差的過高就一定有 IO 的問題荒椭。avgqu-sz 也是個(gè)做 IO 調(diào)優(yōu)時(shí)需要注意的地方,這個(gè)就是直接每次操作的數(shù)據(jù)的大小枷颊,如果次數(shù)多享怀,但數(shù)據(jù)拿的小的話践付,其實(shí) IO 也會(huì)很小。如果數(shù)據(jù)拿的大,才IO 的數(shù)據(jù)會(huì)高针姿。也可以通過 avgqu-sz × ( r/s or w/s ) = rsec/s or wsec/s饱须。也就是講斥滤,讀定速度是這個(gè)來決定的谍椅。
svctm 一般要小于 await (因?yàn)橥瑫r(shí)等待的請(qǐng)求的等待時(shí)間被重復(fù)計(jì)算了),svctm 的大小一般和磁盤性能有關(guān)界赔,CPU/內(nèi)存的負(fù)荷也會(huì)對(duì)其有影響丢习,請(qǐng)求過多也會(huì)間接導(dǎo)致 svctm 的增加。await 的大小一般取決于服務(wù)時(shí)間(svctm) 以及 I/O 隊(duì)列的長(zhǎng)度和 I/O 請(qǐng)求的發(fā)出模式淮悼。如果 svctm 比較接近 await咐低,說明 I/O 幾乎沒有等待時(shí)間;如果 await 遠(yuǎn)大于 svctm袜腥,說明 I/O 隊(duì)列太長(zhǎng)见擦,應(yīng)用得到的響應(yīng)時(shí)間變慢,如果響應(yīng)時(shí)間超過了用戶可以容許的范圍羹令,這時(shí)可以考慮更換更快的磁盤鲤屡,調(diào)整內(nèi)核 elevator 算法,優(yōu)化應(yīng)用福侈,或者升級(jí) CPU酒来。

參考資料:
http://blog.csdn.net/gxiaop/article/details/55098842
http://www.orczhou.com/index.php/2010/03/iostat-detail/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肪凛,隨后出現(xiàn)的幾起案子堰汉,更是在濱河造成了極大的恐慌辽社,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衡奥,死亡現(xiàn)場(chǎng)離奇詭異爹袁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)矮固,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來譬淳,“玉大人档址,你說我怎么就攤上這事×诎穑” “怎么了守伸?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)浦妄。 經(jīng)常有香客問我尼摹,道長(zhǎng),這世上最難降的妖魔是什么剂娄? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任蠢涝,我火速辦了婚禮,結(jié)果婚禮上阅懦,老公的妹妹穿的比我還像新娘和二。我一直安慰自己,他們只是感情好耳胎,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布惯吕。 她就那樣靜靜地躺著,像睡著了一般怕午。 火紅的嫁衣襯著肌膚如雪废登。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天郁惜,我揣著相機(jī)與錄音堡距,去河邊找鬼。 笑死扳炬,一個(gè)胖子當(dāng)著我的面吹牛吏颖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播恨樟,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼半醉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了劝术?” 一聲冷哼從身側(cè)響起缩多,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤呆奕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后衬吆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梁钾,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年逊抡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姆泻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冒嫡,死狀恐怖拇勃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情孝凌,我是刑警寧澤方咆,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站蟀架,受9級(jí)特大地震影響瓣赂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜片拍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一煌集、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧穆碎,春花似錦牙勘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至色徘,卻和暖如春恭金,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背褂策。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工横腿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人斤寂。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓耿焊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親遍搞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子罗侯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容