linux下分析哪個進程最耗iowait

先停掉syslog
service syslog stop

打開block dump:
echo 1 > /proc/sys/vm/block_dump

多次運行,查看結果
dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head
排前的比較佔用io

抓完後關掉block_dump和啓動syslog:
echo 0 > /proc/sys/vm/block_dump
service syslog start

我的一臺負荷較重的服務器,iowait經常在10%以上,因此這樣查看了下,多次運行顯示:

1283 kjournald
1059 httpd
190 pdflush
-------------------------------------
1267 kjournald
1228 httpd
2 pdflush
-------------------------------------
1506 pdflush
661 kjournald
423 httpd
11 sh
6 nrpe
6 bash
3 check
2 egrep
-------------------------------------
1247 kjournald
1187 httpd
6 egrep
-------------------------------------
1288 httpd
1148 kjournald
6 egrep
-------------------------------------
1242 kjournald
1120 httpd
57 php
30 crond
8 bash
6 egrep
-------------------------------------

看來kjournald是罪魁禍首?httpd也蠻高的,需要優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章