Linux iostat命令详解

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况,iostat,它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

安装iostat

在这里插入图片描述

yum -y install sysstat.x86_64

命令详解

语法:
Usage: iostat [ options ] [ <时间间隔> [ <次数> ] ]
//不带次数 表示循环输出
常用选项说明:
-c          :只输出统计CPU信息
-d 			:只输出统计磁盘信息
-x          :输出更详细信息
-k/m 		:输出结果以KB/MB为单位,而不是以扇区数为单位

在这里插入图片描述CPU参数详解:
avg-cpu:总体cpu使用情况统计信息,对于多核cpu,这里所谓的就是cpu的平均使用情况,而不是单单一核cpu的平均使用情况。
重点关注iowait值,表示cpu用于等待io请求的完成时间,这个值越大表示等待时间越长!

%user:		CPU处在用户模式下的时间百分比。    
%nice:		CPU处在带NICE值的用户模式下的时间百分比。
%system:	CPU处在系统模式下的时间百分比。
%iowait:	CPU等待输入输出完成时间的百分比。 重点关注!!
%steal:		管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:		CPU空闲时间百分比。
如果%iowait的值过高,表示硬盘存在I/O瓶颈
如果%idle值高,表示CPU较空闲
如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

磁盘参数详解
在

tps:			该设备每秒的传输次数
kB_read/s:		每秒从设备(drive expressed)读取的数据量 默认单位K
kB_wrtn/s:  	每秒向设备(drive expressed)写入的数据量 默认单位K
kB_read:  		读取的总数据量 默认单位K
kB_wrtn:		写入的总数量数据量 默认单位K

磁盘:-x选项输出信息详解

[root@shell ~]# iostat  -d -x 

在这里插入图片描述

rrqm/s: 	每秒进行 merge 的读操作数目。即 rmerge/s(读合并请求)
wrqm/s:		每秒进行 merge 的写操作数目。即 wmerge/s(写合并请求)
r/s: 		每秒完成的读 I/O 设备次数。即 rio/s
w/s: 		每秒完成的写 I/O 设备次数。即 wio/s
rkB/s: 		每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 		每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 	平均每次设备I/O操作的数据大小 (扇区)。 每个请求平均大小,单位是扇区数,一般在200~400之间算是正常和理想的状态,如果这个值比较小,比方说只在100左右,说明太多的IO请求没有被合并,或者大的IO请求被"打散",在写操作时,过多小的请求会造成磁盘磁头的频繁移动,降低IO性能。
avgqu-sz: 	平均I/O队列长度。 avgqu-sz 平均请求队列长度,这个值在正常的系统中不应超过113太多,如果在200左右,甚至上千那说明发生了IO拥塞,而系统还在向IO请求队列中放请求(有一个例外是在执行sync,fsync操作时,该值到达最大值8192是正常的)
rsec/s: 	每秒读扇区数。即 rsect/s
wsec/s: 	每秒写扇区数。即 wsect/s
r_await:	每个读操作平均所需的时间不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。
w_await:	每个写操作平均所需的时间不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间。
await: 		平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 		平均每次设备I/O操作的服务时间 (毫秒)。
%util: 		一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比

备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O
队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。

小技巧
1.只查看sda磁盘统计信息

[root@shell ~]# iostat  -d sdc
Linux 3.10.0-1160.el7.x86_64 (shell) 	09/25/2021 	_x86_64_	(1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdc               1.68         1.74       833.48      15102    7247483

2.每3秒输出一次

[root@shell ~]# iostat  -d 3
Linux 3.10.0-1160.el7.x86_64 (shell) 	09/25/2021 	_x86_64_	(1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.28        32.31       148.77     284291    1308860
sdc               1.66         1.72       823.79      15102    7247483
sdb               0.02         0.88         0.00       7748          0
dm-0              2.09        30.95       148.54     272314    1306792
dm-1              0.01         0.25         0.00       2204          0

3.每3秒输出一次 共输出5次

[root@shell ~]# iostat  -d 3 5
Linux 3.10.0-1160.el7.x86_64 (shell) 	09/25/2021 	_x86_64_	(1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.27        32.11       147.85     284291    1308862
sdc               1.65         1.71       818.66      15102    7247483
sdb               0.02         0.88         0.00       7748          0
dm-0              2.07        30.76       147.61     272314    1306794
dm-1              0.01         0.25         0.00       2204          0
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的海马体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值