linux下抓出哪个进程造成的 iowait很高的方法

定位IOWait高的一些方法和工具:

在Linux性能分析时经常使用的工具包括:top, iostat,iostat -xn 3 30, vmstat

1、检查RAID的状态,比如是否正在重建或者没有初始化
2、替换操作系统的内核,最好使用发行版标准的 Linux kernel,因为有比较多的补丁
3、检查/proc/sys/vm下面是否可以优化
4、是否使用了文件系统,文件系统是否有优化的选项,比如在RAID5上采用xfs文件系统时,
   可以调节一些参数优化性能
5、客户端程序是否产生了过大的压力,比如磁盘的读写性能只有10MB/s,每个线程的读写
   速度为5MB/s,那么如果读写线程数为20的话,无疑会造成IOWait过高

6. 通过iotop命令可以查看

7、查看进程状态

ps -eo pid,user,wchan=WIDE-WCHAN-COLUMN -o s,cmd|awk ' $4 ~ /D/ {print $0}'

lsof -p $pid

cat /proc/$pid/io

猜你喜欢

转载自san-yun.iteye.com/blog/1738316