Linux上檢視造成IO高負載的程式

wxjzqym發表於2016-07-22
方法1:使用iotop工具
這是一個python指令碼工具,使用方法如:iotop -o


方法2:使用工具dmesg
使用dmesg之前,需要先開啟核心的IO監控:
echo 1 >/proc/sys/vm/block_dump或sysctl vm.block_dump=1


然後可以使用如下命令檢視IO最重的前10個程式:
dmesg |awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -n 10


方法3:使用命令“iostat -x 1“確定哪個裝置IO負載高:
# iostat -x 1 3
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.06    0.00    0.99    1.09    0.00   97.85


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          0.49  17.29  1.74  6.75   23.47  200.18    11.73   100.09    26.33     0.10   12.25   5.73   4.87


找“await”值最大的裝置(Device),如上的結果即為sda。


然後使用mount找到sda掛載點,再使用fuser命令檢視哪些程式在訪問,如:
# fuser -vm /data

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20801486/viewspace-2122391/,如需轉載,請註明出處,否則將追究法律責任。

相關文章