linux I/O 瓶頸監控
linux I/O 瓶頸監控
[oracle@zeng ~]$ iostat -xd
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
scd0 0.21 0.00 0.21 0.00 1.66 0.00 8.00 0.00 2.23 2.23 0.05
sda 18.43 0.53 12.94 2.18 761.75 21.56 51.80 0.20 13.03 5.53 8.36
-x 表示顯示擴充套件的統計資訊。
-d 表示顯示裝置的利用報表。
欄位解釋:
Device 表示裝置名或者分割槽名。
rrqm/s 每秒總計的等待佇列中寫裝置的請求數量。
wrqm/s 每秒總計的等待佇列中讀裝置的請求數量。
r/s 表示每秒的讀請求。
w/s 表示每秒的寫請求。
rsec/s 每秒讀扇區的數量。
wsec/s 每秒寫扇區的數量。
avgrq-sz 平均每次I/O請求的扇區數。
avgqu-sz 平均的I/O請求的佇列長度。
await 平均每次I/O請求的平均響應時間(毫秒)。
svctm 平均每次I/O請求的服務時間(毫秒).
%util I/O請求所佔用的CPU時間百分比。如果該值接近100%,意味著I/O裝置已經滿負荷工作。
如果發現每秒的讀寫數量很高,I/O請求時間佔用的CPU時間接近100%,說明出現了I/O瓶頸.
[oracle@zeng ~]$ iostat
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.56 0.00 4.51 0.50 0.00 94.42
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.03 0.21 0.00 384 0
sda 2.11 99.81 3.73 179708 6722
iostat 不帶任何選項預設輸出的是系統自上次啟動以來的平均統計資訊。第一部分輸出的是CPU利用率情況。第二部分
輸出的是磁碟I/O利用率相關的情況。可以透過指定時間間隔實時的監控I/O的狀況,甚至監控次數來獲得更加精細的報表。
oracle@zeng ~]$ iostat -d 5
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.02 0.18 0.00 384 0
sda 1.82 85.40 3.32 179708 6986
欄位解釋:
tps 表示I/O裝置每秒的I/O傳送次數。傳送指的是一次I/O請求。多個邏輯上的I/O請求可以合併為一個I/O請求。
所有一次傳送對應的邏輯請求的數量是不確定的。
Blk_read/s 表示每秒從裝置上讀取的block數量。block的大小等於磁碟扇區的大小.kernel 2.4及其以後是512 bytes.
Blk_wrtn/s 表示每秒寫入裝置的block數量.
Blk_read 表示讀取的block的總量。
Blk_wrtn 表示寫入的block的總量。
[oracle@zeng ~]$ iostat 3 3
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.36 0.04 3.58 0.89 0.00 95.13
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.02 0.13 0.00 384 0
sda 4.03 109.23 7.45 318468 21730
每3秒報告一次I/O 狀態。次數是3次。可以把上面的資訊重定向輸出到檔案。
使用sar 進行實時,當前,歷史I/O監控。
檢視昨天的I/O 狀態。
[oracle@zeng ~]$ sar -d -f /var/log/sa/sa15
Linux 2.6.32-71.el6.i686 (zeng) 03/15/2012 _i686_ (1 CPU)
09:51:03 AM LINUX RESTART
10:00:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10:10:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:10:01 AM dev8-0 5.14 164.58 54.68 42.69 0.02 4.70 4.15 2.13
10:20:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:20:01 AM dev8-0 4.06 2.96 50.26 13.11 0.03 6.45 6.24 2.53
10:30:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:30:01 AM dev8-0 2.88 0.09 38.64 13.43 0.02 5.47 5.31 1.53
10:40:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:40:01 AM dev8-0 4.75 182.14 219.21 84.55 0.04 8.48 6.55 3.11
-d 表示的是每一個塊裝置(block device)。
[oracle@zeng ~]$ iostat -xd
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
scd0 0.21 0.00 0.21 0.00 1.66 0.00 8.00 0.00 2.23 2.23 0.05
sda 18.43 0.53 12.94 2.18 761.75 21.56 51.80 0.20 13.03 5.53 8.36
-x 表示顯示擴充套件的統計資訊。
-d 表示顯示裝置的利用報表。
欄位解釋:
Device 表示裝置名或者分割槽名。
rrqm/s 每秒總計的等待佇列中寫裝置的請求數量。
wrqm/s 每秒總計的等待佇列中讀裝置的請求數量。
r/s 表示每秒的讀請求。
w/s 表示每秒的寫請求。
rsec/s 每秒讀扇區的數量。
wsec/s 每秒寫扇區的數量。
avgrq-sz 平均每次I/O請求的扇區數。
avgqu-sz 平均的I/O請求的佇列長度。
await 平均每次I/O請求的平響應時間(毫秒)。
svctm 平均每次I/O請求的服務時間(毫秒).
%util I/O請求所佔用的CPU時間百分比。如果該值接近100%,意味著I/O裝置已經滿負荷工作。
如果發現每秒的讀寫數量很高,I/O請求時間佔用的CPU時間接近100%,說明出現了I/O瓶頸.
[oracle@zeng ~]$ iostat
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.56 0.00 4.51 0.50 0.00 94.42
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.03 0.21 0.00 384 0
sda 2.11 99.81 3.73 179708 6722
iostat 不帶任何選項預設輸出的是系統自上次啟動以來的平均統計資訊。第一部分輸出的是CPU利用率情況。第二部分
輸出的是磁碟I/O利用率相關的情況。可以透過指定時間間隔實時的監控I/O的狀況,甚至監控次數來獲得更加精細的報表。
oracle@zeng ~]$ iostat -d 5
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.02 0.18 0.00 384 0
sda 1.82 85.40 3.32 179708 6986
欄位解釋:
tps 表示I/O裝置每秒的I/O傳送次數。傳送指的是一次I/O請求。多個邏輯上的I/O請求可以合併為一個I/O請求。
所有一次傳送對應的邏輯請求的數量是不確定的。
Blk_read/s 表示每秒從裝置上讀取的block數量。block的大小等於磁碟扇區的大小.kernel 2.4及其以後是512 bytes.
Blk_wrtn/s 表示每秒寫入裝置的block數量.
Blk_read 表示讀取的block的總量。
Blk_wrtn 表示寫入的block的總量。
[oracle@zeng ~]$ iostat 3 3
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.36 0.04 3.58 0.89 0.00 95.13
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
scd0 0.02 0.13 0.00 384 0
sda 4.03 109.23 7.45 318468 21730
每3秒報告一次I/O 狀態。次數是3次。可以把上面的資訊重定向輸出到檔案。
使用sar 進行實時,當前,歷史I/O監控。
檢視昨天的I/O 狀態。
[oracle@zeng ~]$ sar -d -f /var/log/sa/sa15
Linux 2.6.32-71.el6.i686 (zeng) 03/15/2012 _i686_ (1 CPU)
09:51:03 AM LINUX RESTART
10:00:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10:10:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:10:01 AM dev8-0 5.14 164.58 54.68 42.69 0.02 4.70 4.15 2.13
10:20:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:20:01 AM dev8-0 4.06 2.96 50.26 13.11 0.03 6.45 6.24 2.53
10:30:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:30:01 AM dev8-0 2.88 0.09 38.64 13.43 0.02 5.47 5.31 1.53
10:40:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:40:01 AM dev8-0 4.75 182.14 219.21 84.55 0.04 8.48 6.55 3.11
-d 表示的是每一個塊裝置(block device)。
-f 指定讀取的歷史I/O 狀態統計檔案。
欄位解釋:
rd_sec/s 每秒從裝置中讀入的扇區數量。大小為512bytes.
wr_sec/s 每秒寫入裝置的扇區數量.大小為512bytes。
avgrq-sz 平均每次I/O請求的扇區數。
avgqu-sz 平均I/O請求的佇列長度。
輸出中的其他欄位同iostat。如果每秒從裝置中讀取、寫入的扇出數量很大。說明出現了I/O 瓶頸。確定了什麼時間
出現了I/O 瓶頸再透過其他工具.比如oracle AWR確定具體是什麼事件導致的I/O 瓶頸。
sar 用作實時I/O 狀態統計。
[oracle@zeng ~]$ sar -d 3 5
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
10:49:20 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10:49:23 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:49:23 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sar 用作當天的I/O 狀態統計。
[oracle@zeng ~]$ sar -d
Linux 2.6.32-71.el6.i686 (zeng) 03/16/2012 _i686_ (1 CPU)
08:57:26 AM LINUX RESTART
09:00:02 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
09:10:01 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:10:01 AM dev8-0 0.36 6.18 1.67 21.68 0.00 7.89 6.35 0.23
09:20:02 AM dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
記得要加-d 選項。表示報告塊裝置的活動資訊統計。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-718721/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux命令----分析系統I/O的瓶頸Linux
- 資料庫效能監控瓶頸理論資料庫
- Linux系統監控之磁碟I/O篇Linux
- 使用iostat監控磁碟I/OiOS
- [衝破核心瓶頸,讓I/O效能飆升]DPDK工程師手冊工程師
- wait event監測效能瓶頸AI
- SQL Server 2008 I/O效能監控SQLServer
- linux監測I/O效能-iostatLinuxiOS
- 在 Linux 中如何使用 iotop 和 iostat 監控磁碟 I/O 活動?LinuxiOS
- 實時監控網路流量,精準辨別網路效能瓶頸
- 使用 iotop 監控哪些程式在進行I/O操作
- 如何監控 Log4j2 非同步日誌遇到寫入瓶頸非同步
- 如何監測 Linux 的磁碟 I/O 效能Linux
- 如何進行I/O評估、監控、定位和最佳化?
- Linux 磁陣效能瓶頸定位過程Linux
- 前端瓶頸如何打破???前端
- 監測你的SQL SERVER--讓瓶頸暴露 (轉載)SQLServer
- [轉]檢測SQLSERVER資料庫CPU瓶頸及記憶體瓶頸SQLServer資料庫記憶體
- 使用 sar 和 kSar 來發現 Linux 效能瓶頸Linux
- 使用vmstat標識linux系統的效能瓶頸Linux
- Linux I/O排程器Linux
- 深入 Linux I/O 重定向Linux
- 利用PerfDog分析遊戲效能瓶頸遊戲
- 打破Kafka帶來的瓶頸?Kafka
- 化解應用系統瓶頸
- 磁碟IO、MEM瓶頸優化優化
- web併發,誰是瓶頸?Web
- SAP 效能優化之監控篇-分析一個硬體瓶頸的程式路線圖[讀書筆記]優化筆記
- Linux下的5種I/O模型與3組I/O複用Linux模型
- Veritas Quick I/O and Cached Quick I/OUI
- Linux下磁碟I/O測試Linux
- Linux裡五種I/O模型Linux模型
- Linux libaio 非同步I/OLinuxAI非同步
- SAP 效能最佳化之監控篇-分析一個硬體瓶頸的程式路線圖[讀書筆記]筆記
- Linux 監控Linux
- 用 pprof 找出程式碼效能瓶頸
- Chrome執行時效能瓶頸分析Chrome
- 軟體測試:瓶頸分析方法