zoukankan      html  css  js  c++  java
  • io异常消耗定位进程

    iostat 工具定位到磁盘

    #iostat -d 3 -k -x -t 30

    07/14/2020 03:42:55 PM

    Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

    vda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    通过iostat命令确认 io异常发生在

    哪个磁盘、

    哪个时间点、

    磁盘的iops以及数据吞吐量

     

    iotop 工具定位到进程

    #iotop -b -o -d 3 -t -qqq -n 30
    15:44:59 254 be/3 root 0.00 B/s 10.61 K/s 0.00 % 0.11 % [jbd2/vda1-8]
    15:44:59 2337 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.01 % [kworker/0:0]

    通过iotop 命令检查问提发生
    哪个时间点、
    哪个pid号和进程参数、
    进程产生的磁盘消耗吞吐量、
    占用百分比

     

    排查过程:

    1、top 命令检查iowait 情况,已经是否有进程消耗cpu过高,找到pid号
    2、通过iostat -d -x 1检查是否磁盘io使用率高引起的。util%
    3、通过pidstat -d 1 查到io写入高的进程,以及对应的pid号
    4、通过strace -f -T -tt -p pid 通过strace 跟踪pid对应的进程 和子进程 的消耗时间和跟踪时间
    5、lsof -p 子进程号 找到系统调用(pid)的操作对象
    6、如果通过ps 命令找不到子进程号,可以通过pstree -p|grep 子进程名 查找。

  • 相关阅读:
    JQ 鼠标滑过按钮改变背景图片
    TreeView 用法(有代码)
    MVC框架 IE浏览时IIS配置
    table 边框 不显示好td内为空串时,边框不显示
    DIV 内滚动条 样式的写法
    用 Grid 数据绑定
    架设支持Silverlight的Web服务器
    c# sql like @参数
    IE8 的margintop兼容问题
    弱符号与强符号
  • 原文地址:https://www.cnblogs.com/plefan/p/13797823.html
Copyright © 2011-2022 走看看