机器io高原因排查全命令指南¶
步骤1:使用iostat查看io情况¶
$iostat -x -d 1
- 主要查看w_await,svctm,%util这几项,svctm表示等待时间,%util高于100时表示机器io高。
步骤2:使用ioshow查看导致io高的具体进程¶
- ioshow是针对开发集群低版本内核编写的工具
-
步骤3:使用pstree查看关联进程¶
- 将ioshow显示的具体进程pid填入下列命令中
· $pstree -H [pid]
步骤4:使用lsof查看进程打开的所有文件¶
- 将ioshow显示的具体进程pid填入下列命令中
· $lsof -p [pid]
步骤5:查看这个文件被哪些进程调用¶
- 将上个步骤显示的文件路径填入下列命令,可以查看读写这个文件的进程pid
· $fuser filePath
- 将上个步骤显示的文件路径填入下列命令,可以查看读写这个文件的具体情况
· $lsof filePath