1.iostat安装
yum install systat
2.参数说明
-c 显示CPU使用情况
-d 显示磁盘使用情况
-k 以K为单位显示
-m 以M为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS使用情况
-p 可以报告出每块磁盘的每个分区的使用情况
-t 显示终端和CPU的信息
-x 显示详细信息
3.所有设备负载情况
[10263992@zte.intra@LIN-B5F08FC24B2 bin]$ iostat
Linux 4.19.112-2.el8.x86_64 (LIN-B5F08FC24B2.zte.intra) 2020年11月05日 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
57.77 0.01 7.64 0.81 0.08 33.69
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
scd0 0.00 0.00 0.00 66 0
vda 44.00 739.45 299.73 437101188 177174701
vdb 10.45 86.07 91.32 50880177 53981936
##属性说明
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。如果%iowait的值过高,表示硬盘存在I/O瓶颈
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。 如果%idle值高,表示CPU较空闲 如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。
##属性说明2
tps:该设备每秒的传输次数
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read: 读取的总数据量;
kB_wrtn:写入的总数量数据量
4.-x选项 iostat -x 1 2
1秒采样2次
为显示更详细的io设备统计信息,我们可以使用-x选项,在分析io瓶颈时,一般都会开启-x选项:
avg-cpu: %user %nice %system %iowait %steal %idle
57.09 0.01 7.60 0.79 0.08 34.43
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.71 0.00 0.00 3.14 0.00 0.76 0.00
vda 14.27 29.06 728.67 295.54 1.30 5.95 8.32 17.00 22.87 3.62 0.40 51.08 10.17 0.41 1.78
vdb 1.47 8.80 84.88 89.74 0.05 4.59 3.40 34.25 0.25 6.97 0.00 57.65 10.19 0.05 0.05
##属性说明
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r_await:每个读操作平均所需的时间;不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间
w_await:每个写操作平均所需的时间;不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)无意义
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率
5.性能指标
%iowait:如果该值较高,表示磁盘存在I/O瓶颈
await:一般地,系统I/O响应时间应该低于5ms,如果大于10ms就比较大了
avgqu-sz:如果I/O请求压力持续超出磁盘处理能力,该值将增加。如果单块磁盘的队列长度持续超过2,一般认为该磁盘存在I/O性能问题。需要注意的是,如果该磁盘为磁盘阵列虚拟的逻辑驱动器,需要再将该值除以组成这个逻辑驱动器的实际物理磁盘数目,以获得平均单块硬盘的I/O等待队列长度
%util:一般地,如果该参数是100%表示设备已经接近满负荷运行了

本文介绍了如何在Linux系统中通过iostat命令安装并理解其参数,重点关注了CPU使用率、磁盘I/O性能指标和磁盘阵列负载。通过实例展示,提供了详细的性能指标解释,帮助读者诊断和优化I/O瓶颈。
854

被折叠的 条评论
为什么被折叠?



