一、 查看硬盤讀取速度
命令:hdparm -t /dev/sda5
打印:Timing buffered disk reads: 254 MB in 3.01 seconds = 84.34 MB/sec
說明:能夠指定具體的哪塊硬盤進行查詢的哦!
二、 查找最耗iowait的進程
操作步驟:
1. /etc/init.d/syslog stop
2. echo 1 > /proc/sys/vm/block_dump
3. dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head
不要忘記在抓完之後關掉block_dump和啟動syslog
4. echo 0 > /proc/sys/vm/block_dump
5. /etc/init.d/syslog start
三、 iostat命令
格式:iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval
描述:iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況,同時也會匯報出 CPU使用情況。同vmstat一樣,iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情況進行分析。
參數:
-c為匯報CPU的使用情況;
-d為匯報磁盤的使用情況;
-k表示每秒按kilobytes字節顯示數據;
-p顯示所有存儲設備分區信息。
-t為打印匯報的時間;
-v表示打印出版本信息和用法;
-x device指定要統計的設備名稱,默認為所有的設備;
interval指每次統計間隔的時間;
count指按照這個時間間隔統計的次數。
輸出信息:
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 隊列是 非空的。
CPU:表示機器內所有的CPU;
%user 表示CPU的利用率;
%nice 表示CPU在用戶層優先級的百分比,0表示正常;
%system 表示當系統運行時,在用戶應用層上所占用的CPU百分比;
%iowait 表示請求硬盤I/0數據流出時,所占用CPU的百分比;
%idle 表示空閒CPU百分比,值越大系統負載越低
示例:
avg-cpu: %user %nice %sys %iowait %idle
0.88 0.00 0.29 0.60 98.24
我發現IO處理這塊所占用的CPU的百分比要比較高啊。因為我正在做的就是記日志處理與MV更改名稱所以CPU比較高!
示例:
1、 iostat -d -k 1 10
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 121.00 356.00 888.00 356 888
sda1  12345下一頁