查看磁盘io利用率

发布时间 2023-12-27 23:06:39作者: 李若盛开

一、概述
作用
iostat是I/O statistics(输入/输出统计)的缩写,主要对系统的磁盘操作活动进行监视

iostat的特点是汇报磁盘活动及CPU使用情况,输出磁盘IO和CPU的统计信息

劣势
iostat有一个弱点,即并不能对某个进程进行深入分析,仅对系统的整体情况进行分析

二、安装

iostat属于sysstat软件包,安装iostat的命令:

yum install -y sysstat

三、使用

iostat [ 选项 ] [ <时间间隔> [ <次数> ] ]

选项
-c:显示CPU使用情况
-d:显示磁盘使用情况
-N:显示磁盘阵列(LVM)信息
-n:显示NFS 使用情况
-k:以 KB 为单位显示
-m:以 M 为单位显示
-t:显示每个报告产生时的时间
-p:显示磁盘和分区的情况
-V:显示版号并退出
-x:显示扩展状态

参数
1)间隔时间:每次报告的间隔时间(秒)
2)次数:显示报告的次数

 1)cpu属性值说明:

%user:CPU处在用户模式下的时间百分比
%nice:CPU处在带NICE值的用户模式下的时间百分比
%system:CPU处在系统模式下的时间百分比
%iowait:CPU等待输入输出完成时间的百分比
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle:CPU空闲时间百分比

备注:

如果%iowait的值过高,表示硬盘存在I/O瓶颈
如果%idle值高,表示CPU较空闲
如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量
如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU

2)disk属性值说明:

device:磁盘名称
tps:每秒钟发送到的I/O请求数
kB_read/s:每秒读取的block数
kB_wrtn/s:每秒写入的block数
kB_read:读入的block总数
kB_wrtn:写入的block总数

四、相关命令使用场景

1、间隔刷新

iostat 1 5

间隔1秒,总共显示5次

2、显示指定磁盘信息

iostat -d /dev/sda

3、查看设备使用率(%util)、响应时间(await)

iostat -d -x -k 1 1

rrqm/s:每秒进行merge读操作的数量
wrqm/s:每秒进行merge写操作的数量
r/s:每秒完成读I/O设备的次数
w/s:每秒完成写I/O设备的次数
rkB/s:每秒读K字节数
wkB/s:每秒写K字节数
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)
avgqu-sz:平均I/O队列长度
await:平均每次设备I/O操作的等待时间(毫秒)
r_await:每个读操作平均所需的时间
不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。
w_await:每个写操作平均所需的时间
不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间
svctm: 平均每次设备I/O操作的服务时间(毫秒)
%util:一秒中有百分之多少的时间用于I/O操作

备注:

如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈
如果idle小于70%时,IO压力就较大,一般读取速度有较多的wait

4、查看cpu状态

iostat -c 1 2

查看cpu状态,间隔1秒显示一次,总共显示2次