安装:
sudo apt install sysstat
sudo apt install iotop
参考:centos 7 查看磁盘io ,找出占用io读写很高的进程
1. iostat
终端输入:
iostat
输出如:
用 iostat 查看磁盘 IO,确认读写负载:
iostat -x 1 10
如图,红色框如果 %util
接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈. 一般 %util
大于 70,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数.
[1] - rrqm/s: 每秒进行merge的读操作数目,即delta(rmerge)/s
[2] - wrqm/s: 每秒进行merge的写操作数目,即delta(wmerge)/s
[3] - r/s: 每秒完成的读I/O设备次数,即delta(rio)/s
[4] - w/s: 每秒完成的写I/0设备次数,即delta(wio)/s
[5] - rsec/s: 每秒读扇区数,即delta(rsect)/s
[6] - wsec/s: 每秒写扇区数,即delta(wsect)/s
[7] - rKB/s: 每秒读K字节数,是rsec/s的一半,因为每扇区大小为512字节
[8] - wKB/s: 每秒写K字节数,是wsec/s的一半
[9] - avgrq-sz: 平均每次设备I/O操作的数据大小(扇区),即delta(rsect+wsect)/delta(rio+wio)
[10] - avgqu-sz: 平均I/O队列长度,即delta(aveq)/s/1000(因为aveq的单位为毫秒)
[11] - await: 平均每次设备I/O操作的等待时间(毫秒),即delta(ruse+wuse)/delta(rio+wio)
[12] - svctm:平均每次设备I/O操作的服务时间(毫秒),即delta(use)/delta(rio+wio)
[13] - %util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的
2. iotop
使用 iotop 找出 IO 高的进程:
iotop
如:
注:
[1] - iotop 可能需要 sudo 运行.
[2] - 如果运行出现提示:
To run an uninstalled copy of iotop,
launch iotop.py in the top directory
解决办法:
which iotop
#/usr/sbin/iotop
vim /usr/sbin/iotop
进行如下编辑:
#!/usr/bin/python - old
#!/usr/bin/python2 - new