2

大家好!我是Sean!

已经连续撸了3天的Linux性能监控命令,今天接着撸命令,iostat!

很早就接触过iostat,说起来和他也是老朋友啦!接下来给大家介绍下这位老朋友!

iostat(监视系统输入输出设备和CPU的使用情况)

iostat命令 被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析,安装命令十分简单,CentOS上执行yum install sysstat即可。

命令参数

-c:仅显示CPU使用情况;
-d:仅显示设备利用率;
-k:显示状态以千字节每秒为单位,而不使用块每秒;
-m:显示状态以兆字节每秒为单位;
-p:仅显示块设备和所有被使用的其他分区的状态;
-t:显示每个报告产生时的时间,单位:秒;
-V:显示版号并退出;
-x:显示扩展状态。

常用命令

显示所有信息
iostat

显示指定磁盘信息
iostat -d /dev/sda

仅显示cpu信息
iostat -c

显示磁盘基本IO信息
iostat -d

以M为单位显示所有信息
iostat -m

显示磁盘详细IO信息
iostat -d -x -k

指定定时输出,后面跟上定时时长,不指定则输出一次
指定输出次数,后面跟上输出次数,不指定则一直输出
例如:每隔1秒刷新显示,共刷新3次,命令可以写成这样
iostat 1 3
iostat -d /dev/sda 1 3
iostat -c 1 3
iostat -d 1 3
iostat -m 1 3
iostat -d -x -k 1 3

命令详解

显示所有信息

iostat
%user        CPU处在用户模式下的时间百分比
%nice        CPU处在带NICE值的用户模式下的时间百分比
%system        CPU处在系统模式下的时间百分比
%iowait        CPU等待输入输出完成时间的百分比
%steal        管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle        CPU空闲时间百分比
tps            该磁盘每秒的传输次数
kB_read/s    每秒从磁盘读取的数据量
kB_wrtn/s    每秒向磁盘写入的数据量
kB_read        读取的总数据量
kB_wrtn        写入的总数据量
数据查看技巧:
1. 如果%iowait的值过高,说明写磁盘等待现象比较严重,磁盘I/O存在瓶颈,考虑进一步排查进程级别的IO情况
2. 如果%idle值高,说明CPU是比较空闲的,但是明显感觉系统反应迟钝,可能是CPU等待分配内存,可能需要加内存了。
3. 如果%idle值持续低于10,可能是CPU的处理能力不足了,需要考虑下规格了。

显示指定磁盘信息

iostat -d /dev/sda

仅显示cpu信息

iostat -c

显示磁盘基本IO信息

iostat -d

以M为单位显示所有信息

iostat -m

显示磁盘详细IO信息

iostat -d -x -k
Device        监测设备名称
rrqm/s        每秒需要读取需求的数量
wrqm/s        每秒需要写入需求的数量
r/s            每秒实际读取需求的数量
w/s            每秒实际写入需求的数量
rsec/s        每秒读取区段的数量
wsec/s        每秒写入区段的数量
rkB/s        每秒实际读取的大小,单位为KB
wkB/s        每秒实际写入的大小,单位为KB
avgrq-sz    需求的平均大小区段
avgqu-sz    需求的平均队列长度
await        等待I/O平均的时间(milliseconds)
r_await        读取等待I/O平均的时间(milliseconds)
w_await        写入等待I/O平均的时间(milliseconds)
svctm        I/O需求完成的平均时间
%util        被I/O需求消耗的CPU百分比
数据查看技巧:
如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,idle小于70% IO压力就较大了,一般读取速度有较多的wait。

思维导图总结

今天的分享就到这里啦!感谢各位的阅读!码字不易,如果本文对你有帮助的话,帮忙点个赞吧~哈哈。

性能监控命令系列结束后会将思维导图分享出来,欢迎关注公众号“程序员Sean”。


CodeCooker
10 声望3 粉丝

人生如逆旅,我亦是行人,但愿初相遇,不负有心人,分享程序员成长路上的点点滴滴。