【系统运维】使用iostat命令监控磁盘IO状态
一、iostat介绍
iostat 是最常用的磁盘 I/O 性能监控工具,它提供了每个磁盘的使用率、IOPS、吞吐量等各种常见的性能指标,这些指标实际数据来自 /proc/diskstats。同vmstat工具类似,iostat仅对磁盘整体I/O性能数据进行分析,并不能直观的得出哪些进程在进行磁盘读写。如果要进一步分析的话还需要结合pidstat或iotop这样的工具
二、iostat常用选项
-x:显示扩展统计信息
-d:显示磁盘统计信息,也是默认选项
-c:显示CPU的统计信息
-p:显示每个分区的统计情况
-m:以m为单位进行统计
N...N:和vmstat一样,iostat也可以使用2个数字指定刷新状态信息的间隔以及总共统计的次数
#第一次执行iostat命令时统计的将是开机的那一刻到执行命令那一刻的数据,再次使用iostat命令则是统计当前点到上一次执行iostat命令时产生的数据。 iostat -d -x -m 3 #每3秒统计一次磁盘信息 iostat -d -x -m sdb 2 #每2秒统计一次sdb的信息
三、iostat命令指标解读
1、第一部分:系统内核、主机名、当前时间、架构、CPU个数,不重要
2、第二部分:CPU平均负载情况
· %user:用户进程所占用CPU时间片的百分比。
· %nice:某些被修改过优先值的进程所占用CPU时间片的百分比。
· %system:系统或者内核进程所占用CPU时间片的百分比。
· %iowait:CPU等待磁盘IO完成所占用的CPU时间百分比,即CPU等待硬盘响应指令的时间。因为CPU速度比硬盘快N倍,每次发出IO指令后要等硬盘工作结束。此值越高,表示硬盘压力越大。
· %steal:如果有虚拟机服务,那么虚拟机占用的CPU资源百分比。
· %idel:CPU空闲时间百分比。该值越高越好,如果长期低于10-20%,那么需要考虑升级CPU。
3、第三部分:磁盘相关信息
· tps:磁盘每秒传输的次数,一次传输代表一次IO请求。多个逻辑请求可以合并为一次IO请求。
· rMB/s:每秒从设备上读取的数据量,wMB/s 除以 w/s = 每个写IO的大小
· wMB/s:每秒向设备写入的数据量
· IO吞吐量:rMB/s + wMB/s
· r/s:每秒读请求数
· w/s:每秒写请求数
· IOPS:r/s + w/s
评论