定位IOWait高的一些方法和工具:
在Linux性能分析時(shí)經(jīng)常使用的工具包括:top, iostat, vmstat等
IOWait高的一些處理方法
1、檢查RAID的狀態(tài),比如是否正在重建或者沒(méi)有初始化
2、替換操作系統(tǒng)的內(nèi)核,最好使用發(fā)行版標(biāo)準(zhǔn)的Linux kernel,因?yàn)橛斜容^多的補(bǔ)丁
3、檢查/proc/sys/vm下面是否可以優(yōu)化
4、是否使用了文件系統(tǒng),文件系統(tǒng)是否有優(yōu)化的選項(xiàng),比如在RAID5上采用xfs文件系統(tǒng)時(shí),
可以調(diào)節(jié)一些參數(shù)優(yōu)化性能
5、客戶端程序是否產(chǎn)生了過(guò)大的壓力,比如磁盤的讀寫性能只有10MB/s,每個(gè)線程的讀寫
速度為5MB/s,那么如果讀寫線程數(shù)為20的話,無(wú)疑會(huì)造成IOWait過(guò)高
6、查看進(jìn)程狀態(tài)
ps -eo pid,user,wchan=WIDE-WCHAN-COLUMN -o s,cmd|awk ' $4 ~ /D/ {print $0}'
lsof -p $pid
7、使用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 10
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/syslog start
新聞熱點(diǎn)
疑難解答