轉貼這裡http://www.cppblog.com/go-benny/archive/2008/04/23/47908.html
定位IOWait高的一些方法和工具:
在Linux性能分析時經常使用的工具包括:top, iostat, vmstat等
IOWait高的一些處理方法
1、檢查RAID的狀態,比如是否正在重建或者沒有初始化
2、替換操作系統的內核,最好使用發行版標準的Linux kernel,因為有比較多的補丁
3、檢查/proc/sys/vm下面是否可以優化
4、是否使用了文件系統,文件系統是否有優化的選項,比如在RAID5上採用xfs文件系統時,
可以調節一些參數優化性能
5、客戶端程序是否產生了過大的壓力,比如磁盤的讀寫性能只有10MB/s,每個線程的讀寫
速度為5MB/s,那麼如果讀寫線程數為20的話,無疑會造成IOWait過高6、查看進程狀態
ps -eo pid,user,wchan=WIDE-WCHAN-COLUMN -os,cmd|awk ‘ $4 ~ /D/ {print $0}’
lsof -p $pid7、使用block_dump
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_dump
sleep 60
dmesg | awk ‘/(READ|WRITE|dirtied)/ {process[$1]++} END {for (x in process)
print process[x],x}’ |sort -nr |awk ‘{print $2 ” ” $1}’ |
head -n 10echo 0 > /proc/sys/vm/block_dump
/etc/init.d/syslog start
留言