1. 程式人生 > >iostat檢視linux硬碟IO效能

iostat檢視linux硬碟IO效能

源:https://www.cnblogs.com/tommyli/p/3623284.html

rrqm/s:   每秒進行 merge 的讀運算元目。即 delta(rmerge)/s
wrqm/s:  每秒進行 merge 的寫運算元目。即 delta(wmerge)/s
r/s:           每秒完成的讀 I/O 裝置次數。即 delta(rio)/s
w/s:         每秒完成的寫 I/O 裝置次數。即 delta(wio)/s
rsec/s:    每秒讀扇區數。即 delta(rsect)/s
wsec/s:  每秒寫扇區數。即 delta(wsect)/s
rkB/s:     每秒讀K位元組數。是 rsect/s 的一半,因為每扇區大小為512位元組。(需要計算)
wkB/s:

    每秒寫K位元組數。是 wsect/s 的一半。(需要計算)
avgrq-sz: 平均每次裝置I/O操作的資料大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O佇列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
await:    平均每次裝置I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm:   平均每次裝置I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util:      一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 佇列是非空的。即 delta(use)/s/1000 (因為use的單位為毫秒)

如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟
可能存在瓶頸。
idle小於70% IO壓力就較大了,一般讀取速度有較多的wait.
同時可以結合vmstat 檢視檢視b引數()和wa引數()

另外還可以參考
svctm  一般要小於 await (因為同時等待的請求的等待時間被重複計算了),svctm  的大小一般和磁碟效能有關,CPU/記憶體的負荷也會對其有影響,請求過多也會間接導致 svctm 的增加。await  的大小一般取決於服務時間(svctm) 以及 I/O 佇列的長度和 I/O 請求的發出模式。如果 svctm 比較接近 await,說明 I/O  幾乎沒有等待時間;如果 await 遠大於 svctm,說明 I/O  佇列太長,應用得到的響應時間變慢,如果響應時間超過了使用者可以容許的範圍,這時可以考慮更換更快的磁碟,調整核心 elevator  演算法,優化應用,或者升級 CPU。
佇列長度(avgqu-sz)也可作為衡量系統 I/O 負荷的指標,但由於 avgqu-sz 是按照單位時間的平均值,所以不能反映瞬間的 I/O 洪水。


別人一個不錯的例子.(I/O 系統 vs. 超市排隊)

舉 一個例子,我們在超市排隊 checkout 時,怎麼決定該去哪個交款臺呢? 首當是看排的隊人數,5個人總比20人要快吧?  除了數人頭,我們也常常看看前面人購買的東西多少,如果前面有個採購了一星期食品的大媽,那麼可以考慮換個隊排了。還有就是收銀員的速度了,如果碰上了連  錢都點不清楚的新手,那就有的等了。另外,時機也很重要,可能 5  分鐘前還人滿為患的收款臺,現在已是人去樓空,這時候交款可是很爽啊,當然,前提是那過去的 5 分鐘裡所做的事情比排隊要有意義  (不過我還沒發現什麼事情比排隊還無聊的)。

I/O 系統也和超市排隊有很多類似之處:

r/s+w/s 類似於交款人的總數
平均佇列長度(avgqu-sz)類似於單位時間裡平均排隊人的個數
平均服務時間(svctm)類似於收銀員的收款速度
平均等待時間(await)類似於平均每人的等待時間
平均I/O資料(avgrq-sz)類似於平均每人所買的東西多少
I/O 操作率 (%util)類似於收款臺前有人排隊的時間比例。

我們可以根據這些資料分析出 I/O 請求的模式,以及 I/O 的速度和響應時間。

下面是別人寫的這個引數輸出的分析

# iostat -x 1
avg-cpu:  %user   %nice    %sys   %idle
16.24    0.00    4.31   79.44
Device:                rrqm/s wrqm/s   r/s   w/s      rsec/s  wsec/s    rkB/s  wkB/s    avgrq-sz avgqu-sz   await  svctm  %util
/dev/cciss/c0d0     0.00    44.90    1.02 27.55    8.16  579.59     4.08   289.80    20.57    22.35        78.21   5.00  14.29
/dev/cciss/c0d0p1 0.00    44.90     1.02 27.55    8.16  579.59     4.08   289.80    20.57    22.35        78.21   5.00  14.29
/dev/cciss/c0d0p2 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

上面的 iostat 輸出表明秒有 28.57 次裝置 I/O 操作: 總IO(io)/s = r/s(讀) +w/s(寫) = 1.02+27.55 = 28.57 (次/秒) 其中寫操作佔了主體 (w:r = 27:1)。

平均每次裝置 I/O 操作只需要 5ms 就可以完成,但每個 I/O 請求卻需要等上 78ms,為什麼? 因為發出的 I/O 請求太多 (每秒鐘約 29 個),假設這些請求是同時發出的,那麼平均等待時間可以這樣計算:

平均等待時間 = 單個 I/O 服務時間 * ( 1 + 2 + … + 請求總數-1) / 請求總數

應用到上面的例子: 平均等待時間 = 5ms * (1+2+…+28)/29 = 70ms,和 iostat 給出的78ms 的平均等待時間很接近。這反過來表明 I/O 是同時發起的。

每秒發出的 I/O 請求很多 (約 29 個),平均佇列卻不長 (只有 2 個 左右),這表明這 29 個請求的到來並不均勻,大部分時間 I/O 是空閒的。

一秒中有 14.29% 的時間 I/O 佇列中是有請求的,也就是說,85.71% 的時間裡 I/O 系統無事可做,所有 29 個 I/O 請求都在142毫秒之內處理掉了。

delta(ruse+wuse)/delta(io)  = await = 78.21 => delta(ruse+wuse)/s =78.21 * delta(io)/s =  78.21*28.57 = 2232.8,表明每秒內的I/O請求總共需要等待2232.8ms。所以平均佇列長度應為  2232.8ms/1000ms = 2.23,而 iostat 給出的平均佇列長度 (avgqu-sz) 卻為 22.35,為什麼?! 因為  iostat 中有 bug,avgqu-sz 值應為 2.23,而不是 22.35。

相關推薦

iostat檢視linux硬碟IO效能

源:https://www.cnblogs.com/tommyli/p/3623284.html rrqm/s:   每秒進行 merge 的讀運算元目。即 delta(rmerge)/swrqm/s:  每秒進行 merge 的寫運算元目。即 delta(wmerge)/sr/s:           每

使用iostat來對linux硬碟IO效能進行檢測

每秒進行 merge 的讀運算元目。即 delta(rmerge)/swrqm/s:        每秒進行 merge 的寫運算元目。即 delta(wmerge)/sr/s:              每秒完成的讀 I/O 裝置次數。即 delta(rio)/sw/s:             每秒完成的

Linux檢視網路和IO效能問題

Linux上使用iftop可以檢視網路使用情況,使用iotop可以檢視磁碟io使用情況 首先需要安裝iftop和iotop: yum install iftop yum install iotop ====================================

效能調優3:硬碟IO效能

資料庫系統嚴重依賴伺服器的資源:CPU,記憶體和硬碟IO,通常情況下,記憶體是資料的讀寫效能最高的儲存介質,但是,記憶體的價格昂貴,這使得系統能夠配置的記憶體容量受到限制,不能大規模用於資料儲存;並且記憶體是易失性的,不能持久化儲存資料,這使得記憶體只能作為執行時的快取記憶體,而硬碟是永久儲存資料的理想介質,

檢視linux硬碟掛載到指定目錄

[[email protected] ~]# fdisk -l Disk /dev/sda: 53.6 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylin

磁碟陣列與普通硬碟IO效能分析

 表1 普通硬碟測試結果 快取(B)/條 條/秒 w/s(次數) kw/s(總量) %b(磁碟繁忙率) 64 2000 149.43 2054.61 3.51 72 200

幾種硬碟IO效能測試工具

【dd工具】 作業系統: ubuntu 12.04  測試工具: dd  版本:8.21 執行dd --version來檢視 工具說明:  dd命令能粗略測試硬碟IO效能不足:執行dd命令測試硬碟IO效能,對硬碟的損害很大,不建議多次或長時間嘗試. 測試命令:  1) 讀

linux 實時監控系統IO狀態和IO效能iostat命令解析)

    linux系統的輸入輸出(I/O)效能和狀態,可以通過sysstat命令包中的iostat命令來進行實時的監控檢視,這裡介紹iostat命令的一些常用操作以便用於輸出CPU和磁碟I/O相關的統計資訊。 命令格式 iostat [ -c ] [ -d ] [ -h ]

日常運維管理技巧六(檢視磁碟IO效能 iostat

六、監控io效能(這個是關於磁碟的,磁碟的狀態的兩個命令  iostat    iotop) 在日常運維過程中,除了CPU、記憶體外,磁碟的io也是非常重要的指標。有時候CPU、記憶體明明有剩餘,但系統就是負載很高,我們用vmstat命令檢視會發現b列或wa列比較大

Linux基礎知識之IO效能監控工具iostat命令詳解

Linux系統出現了效能問題,一般我們可以通過top、iostat、free、vmstat等命令來檢視初步定位問題。其中iostat可以提供更豐富的IO效能狀態資料。 1. 基本使用 $iostat -d -k 1 10 引數 -d 表示,顯示裝置(磁碟)使用狀態;-k某些使用block為單位的列強

監控io效能、free、ps、檢視網路狀態和linux抓包工具

一、監控io效能 1、iostat -x 磁碟使用 關注最後一列的數值,數值大說明磁碟有異常2、iotop 磁碟使用 安裝:yum install -y iotop 二、free命令 檢視記憶體使用多少,剩餘多少請看第二行的資料。另外我們還可以加-m或-h 或者-g選項分別以M或G為單位列印記憶體使用狀況:常

檢視linux伺服器硬碟IO讀寫負載

原文地址 http://www.cnblogs.com/mfryf/archive/2012/03/12/2392012.html 最近一臺linux伺服器出現異常,系統反映很慢,相應的應用程式也無法反映,而且還出現宕機的情況,經過幾天的觀察瞭解,發現伺服器壓力很大,主要

Linux伺服器記憶體、CPU、檔案系統、磁碟IO效能以及網路連通性shell巡檢

shell自動巡檢伺服器基礎配置          每個專案都要部署在伺服器上,那麼伺服器的安全效能和一些基本情況是我們需要了解的,比如伺服器CPU、記憶體、檔案系統、磁碟IO、還有一些網路連通性

Linux系統檢視行動硬碟的使用時間--使用smartmontools

windows系統裡有很多好用的軟體可以檢視硬碟的總使用時長,Linux下也有類似的工具smartmontools。 S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology; often wr

[Linux] 硬碟效能測試DD命令詳解

首先要了解兩個特殊的裝置: /dev/null:回收站、無底洞 /dev/zero:產生字元 Ø 測試磁碟寫能力 time dd if=/dev/zero of=/test.dbf bs=64k count=16k 因為/dev/zero是一個偽裝置,它只產生空

使用iostat分析IO效能

對於I/O-bond型別的程序,我們經常用iostat工具檢視程序IO請求下發的數量、系統處理IO請求的耗時,進而分析程序與作業系統的互動過程中IO方面是否存在瓶頸。 下面通過iostat命令使用例項,說明使用iostat檢視IO請求下發情況、系統IO處理能力的方法,以及命令執行結果中各欄位的含義。 1

inux檢視磁碟讀寫效能(iostat命令)的方法

#檢視TPS和吞吐量資訊 iostat -d -k 1 10        Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn sda              14.54       417.21       368

Linux 檔案系統IO效能優化

cat /proc/meminfo  看到。其中的Cached 指用於pagecache的記憶體大小(diskcache-SwapCache)。隨著寫入快取頁,Dirty 的值會增加。 一旦開始把快取頁寫入硬碟,Writeback的值會增加直到寫入結束。 Linux 用pdflush程序把資料從快取頁寫入硬碟

伺服器負載檢測、IO效能及磁碟繁忙監控-iostat命令使用

[[email protected] /]# iostat -d 2 3 Linux 2.6.18-194.el5 (rhel)     2013年08月27日 Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrt

Linux檢視系統硬碟記憶體及開機資訊的命令

Linux要的檢視系統硬碟記憶體及開機資訊的命令一, df可以檢視硬碟中的資訊 df -a 可以看很多資訊 df -T 可以看更多資訊 df -k 以k為單位看資訊 df -m 以m為單位看資訊 df -h 以G為單位看資訊 df -t vfat 看是vfat型別的分割槽。 比如 df -a 檔案系統 1K-