linux磁盘io监控
所属分类 linux
浏览量 1547
通过top free netstat df -h等命令排查cpu 内存 网络和磁盘等问题
磁盘io监控可使用 iostat iotop 等 工具
iostat 安装
yum install sysstat
iostat -d -k 1 10
-k 使用KB -m MB
每隔1秒刷新一次,共显示10次。
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.23 0.17 6.64 210722 8484989
sdb 0.00 0.00 0.00 4262 2048
tps:
设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。
一次传输 代表 一次I/O请求 , 多个逻辑请求可能会被合并为 一次I/O请求。
kB_read/s:每秒从设备读取的数据量
kB_wrtn/s:每秒向设备写入的数据量
kB_read:读取的总数据量
kB_wrtn:写入的总数量数据量
可指定设备 iostat -d sda 2
-x 获取更多统计信息
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.01 0.21 0.17 6.64 60.30 0.00 1.92 0.86 1.99 0.05 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 65.05 0.00 2.48 2.59 0.00 2.31 0.00
rrqm/s:设备读取请求Merge次数(系统调用读取数据 ,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS将这个请求合并)
wrqm/s:设备写入请求Merge次数
rsec/s:每秒读取的扇区数;
wsec/:每秒写入的扇区数。
rKB/s:The number of read requests that were issued to the device per second;
wKB/s:The number of write requests that were issued to the device per second;
avgrq-sz 平均请求扇区大小
avgqu-sz 平均请求队列的长度 ,越小越好。
await: IO请求平均处理时间 ,一般应该低于5ms , 队列时间 + 服务时间
svctm 设备I/O操作服务时间(毫秒),如果 svctm 与 await 很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,表示I/O 等待 队列 太长 。
%util 如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,表示设备的繁忙程度。
iotop
yum install iotop
python 编写
可查看 线程和进程的 io
-o --only 只显示实际具有I/O操作的进程或线程
-b --batch 非交互式模式,可以用于保存输出结果
-n 刷新次数
-d 刷新间隔时间
-P 只显示进程,不显示线程
-p 监控指定进程或线程
-k 使用KB表示I/O带宽
-u 监控指定用户的I/O操作情况
-t 在每行输出加上时间戳
-q 只在第一次输出时显示列名称
-qq 不显示列名称
-qqq 不显示总的I/O信息
iotop -o -P
上一篇
下一篇
linux网络流量监控工具 iftop ifstat nload
修改linux主机名几种方法
linux下获取CPU/内存使用最多的前7个进程
tomcat长连接配置
进程磁盘IO监控
硬盘读写速度测试