怎样DEBUG 进程IO消耗大的问题

1、问题描述: 发现CGI程序的磁盘IO突然出现峰值上升;

2、判断: 程序突然出现大量的core dump或者某业务异常出发大量的IO写操作;

3、分析方法:

    a).使用top按照CPU排序发现CPU使用率很高的进程,一般IO使用率高的进程CPU的消耗也会大幅增加,通过CPU使用率基本能够定位到问题进程;

    b).通过iostat查看哪个分区有大量的写磁盘操作;

    c).通过block_dump参数查找占用IO最多的进程:

                /etc/init.d/sysylog stop 关闭syslog

                echo 1 > /proc/sys/vm/block_dump, 等待几秒钟后,内核会将IO信息输出到IO日志中;

                dmsg | egrep "READ|WRITE|dirtied" | awk '{print $2}' | sort | uniq -c | sort -rn | head 查找单位时间IO操作最高的进程的PID;

                 分析完成后关闭block_dump; echo 0 > /etc/init.d/vm/block_dump;   /etc/init.d/syslog start

4、查看进程读写的文件信息; 通过 /proc/$PID/fd 下的文件描述符来查看, 同时还可以通过这个方式查看服务器是否存在内存泄漏;

5、通过上述方法基本能够确认是由于哪个进程写哪个文件造成的磁盘IO消耗过高;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值