美文网首页
os io wait 高问题排查

os io wait 高问题排查

作者: Kevin关大大 | 来源:发表于2020-05-09 10:01 被阅读0次

    top

    $ iostat -d -x 1
    Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
    ...
    sda 273.00 0.00 32568.00 0.00 0.00 0.00 0.00 0.00 7.90 0.00 1.16 119.30 0.00 3.56 97.20

    $ strace -f -p 27458
    [pid 28014] read(38, "934EiwT363aak7VtqF1mHGa4LL4Dhbks"..., 131072) = 131072
    [pid 28014] read(38, "hSs7KBDepBqA6m4ce6i6iUfFTeG9Ot9z"..., 20480) = 20480
    [pid 28014] read(38, "NRhRjCSsLLBjTfdqiBRLvN9K6FRfqqLm"..., 131072) = 131072
    [pid 28014] read(38, "AKgsik4BilLb7y6OkwQUjjqGeCTQTaRl"..., 24576) = 24576
    [pid 28014] read(38, "hFMHx7FzUSqfFI22fQxWCpSnDmRjamaW"..., 131072) = 131072
    [pid 28014] read(38, "ajUzLmKqivcDJSkiw7QWf2ETLgvQIpfC"..., 20480) = 20480

    -d选项表示展示进程的I/O情况

    $ pidstat -d 1
    12:04:11 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command
    12:04:12 999 8543 32640.00 0.00 0.00 0 mysqld
    12:04:12 0 27617 4.00 4.00 0.00 3 python
    12:04:12 0 27864 0.00 4.00 0.00 0 systemd-journal

    lsof -p 8543
    这次我们得到了 lsof 的输出。从输出中可以看到, mysqld 进程确实打开了大量文件,而根据文件描述符(FD)的编号,我们知道,描述符为 38 的是一个路径为 /var/lib/mysql/test/products.MYD 的文件。这里注意, 38 后面的 u 表示, mysqld 以读写的方式访问文件。

    相关文章

      网友评论

          本文标题:os io wait 高问题排查

          本文链接:https://www.haomeiwen.com/subject/uzuhnhtx.html