作者:朱小厮来源:https://www.jianshu.com/p/76ca793daf1d
一、概述
本篇起源于对Kafka的一个问题排查,大致的原因是达到磁盘性能瓶颈。在追踪问题的时候用到iostat -x这命令,详细示例如下:
![66be88b9ce45317e2bfe1e1ea9558c59.png](https://i-blog.csdnimg.cn/blog_migrate/082aa467487bd8ffc416973e7ca29cd1.jpeg)
可以看到%idle(%idle小于70%说明IO压力已经比较大了)和%util的值都处于非正常状态。不过这里并不讲述Kafka的问题排查过程,反而是来讲述下IO指标的一些知识。每次遇到需要查看磁盘相关信息的时候,一些指标都会或多或少的遗忘,还要翻阅各种资料了解,故这里对相关的信息做一个相关的整理,在巩固相关知识点的同时也方便以后的查阅。
上面示例中的各个指标的含义分别为:
avg-cpu说明:
%user:在用户级别运行所使用的CPU的百分比。
%nice:带nice值(和进程优先级相关)的用户模式下运行所使用的CPU的百分比。
%system:在系统级别运行所使用CPU的百分比。
%iowait:CPU等待IO完成的时间百分比。(单个iowait指标值偏高并不能说明磁盘存在IO瓶颈,下面会有详述。)
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间的百分比。
%idle:CPU空闲时间的百分比。(idle值高,表示CPU较空闲。)
device说明:
rrqm/s:每秒进行merge的读操作数目。即:rmerge/s
wrqm/s:每秒进行merge的写操作数目。即:wmerge/s
r/s:每秒完成的读IO设备的次数。即rio/s
w/s:每秒完成的写IO设备的次数。即wio/s
rsec/s:每秒读扇区数。即rsect/s(每个扇区大小为512B。)
wsec/s:每秒写扇区数。即wsect/s
avgrq-sz:平均每次设备IO操作的数据大小(扇区);平均单次IO大小。
avgqu-sz:平均IO队列长度。