首先,模擬磁盤I/O讀寫高的情況
# 拷貝大文件進行測試
[root@proxy1 ~]# \cp -rp /mnt/cdrom/ /tmp/
1、通過"iostat -x 1 10"命令查看相關磁盤使用信息
表示每隔1秒刷新一次,刷新10次
如果沒有iostat命令,使用yum -y install sysstat
安裝
由圖可知scd0也就是被拷貝的磁盤的%util
幾乎超過了100%,原因就是頻繁的讀取數據造成的;
字段說明
Device # 設備名稱
tps # 每秒的IO讀、寫請求數量,多個邏輯請求可以組合對設備的單個I/O請求;
Blk_read/s #從設備讀取的數據量,以每秒若干塊(千字節、兆字節)表示;塊相當於扇區,塊大小為512字節
Blk_wrtn/s #寫入設備的數據量,以每秒若干塊表示;
Blk_read #讀取塊的總數(千字節、兆字節)
Blk_wrtn #寫入塊的總數(千字節、兆字節)
rrqm/s #每秒合並到設備的讀請求數;
wrqm/s #每秒合並到設備的寫入請求數;
r/s #每秒完成的讀I/O設備次數;
w/s #每秒完成的寫I/O設備次數;
rsec/s(rkB/s,rMB/s) #每秒讀取設備的扇區數,每扇區大小為512字節;
wsec/s(wkB/s,wMB/s) #每秒寫入設備的扇區數,每扇區大小為512字節;
avgrq-sz #平均每次設備I/O操作的數據量(扇區為單位);
abgqu-sz #平均每次發送給設備的I/O隊列長度
await #平均每次I/O請求等待時間(包括等待隊列時間和處理時間,毫秒為單位)
r_await #平均每次I/O讀請求等待時間;
w_await #平均每次I/O寫請求等待時間;
svctm #平均每次設備I/O操作的處理時間(毫秒);
%util #一秒中有百分之多少的時間用於I/O操作,當該值接近100%,設備飽和發生;
2、通過"iotop"命令
如果沒有該命令,使用yum -y install iotop
命令進行安裝
通過這個命令可以看見比較詳細的信息,如:進程號、磁盤讀取量、磁盤寫入量、I/O百分比,以及命令等;
3、通過"pidstat"命令
命令的含義:展示I/O統計,每秒更新一次;
pidstat -d 1