定位磁盘I/O过高的方法

前段时间,在实际生产环境中遇到了这样的问题:每天定时5点钟进行mysql的数据备份,Zabbix会触发自带的报警I/O isoverload,所以想总结一下,关于遇到了磁盘I/O读写过高的情况分析。

1.开始判定具体时间

关于sar命令可以查看具体的使用方法:

传送门:http://blog.csdn.net/zhoutimo/article/details/52021960

进入sar命令默认存储的历史记录路径/var/log/sa/

使用sar查看昨天的关于磁盘发生的异常

sar -d -f sa26

输出发现5点钟左右I/O读写开始变大



2.判定具体进程影响了I/O读写

要使用block_dump工具,如果使用block_dump那么需要关闭syslog,否则klog会打印很多日志到messages中,这样更加让系统不堪重负。
①service syslog stop
②打开block dump:
echo 1 > /proc/sys/vm/block_dump
③统计方法:
[root@f161 mm]# dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head
   2002 on
   1986 block
   1962 WRITE
   1936 xvdb
   1759 mysqld
    182 kjournald
     27 xvdd
     24 READ
     21 xvdc
     18 xvda

根据实际情况确认具体是哪个进程影响了I/O读写

④不要忘记在抓完之后关掉block_dump和启动syslog:
echo 0 > /proc/sys/vm/block_dump
service syslog start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值