首先还是定位
top
定位到有 io 问题存在,iowait 很高,并且同时可以看到 CPU 是比较高的占用
使用
pidstat -d 1
定位确定是否真的存 IO 瓶颈
然后使用
strace -p 12280 2>&1 | grep write
看看有没有写或者有没有读取相关的系统调用
当没有发现的时候不要担心,需要加入-f 参数,因为很多文件的读取和写入可能是开子线程完成的
$ cd /usr/share/bcc/tools
可以看到文件的读写情况并且是 top
./filetop -C
可以跟踪内核中的 open 的系统调用
opensnoop