首先还是定位

    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