使用iostat查看磁盘使用情况

Posted 91洲际哥的笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用iostat查看磁盘使用情况相关的知识,希望对你有一定的参考价值。

Ⅰ、iostat安装

[[email protected]_42_63_centos ~]# yum install -y sysstat

Ⅱ、玩一手

[[email protected]_42_63_centos ~]# iostat -xm 3
Linux 3.10.0-514.21.1.el7.x86_64 (VM_42_63_centos)  06/28/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.41    0.00    0.25    0.35    0.00   98.98

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     4.53    0.43    5.42     0.01     0.06    24.09     0.47   79.51   33.78   83.15   1.39   0.81
scd0              0.00     0.00    0.00    0.00     0.00     0.00    17.45     0.00    2.68    2.68    0.00   2.53   0.00

2.1 cpu指标

- 说明
%user CPU处在用户模式下的时间百分比
%nice CPU处在带NICE值的用户模式下的时间百分比
%system CPU处在系统模式下的时间百分比
%iowait CPU等待IO完成时间的百分比
%steal 管理程序维护另一个虚拟处理器时,虚拟CPU的无意的等待时间的百分比
%idle 置cpu的百分比
  • %iowait的值过高,表示硬盘存在I/O瓶颈;
  • %idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量
  • %idle值如果持续很低,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU

2.2 device指标

- 说明
rrqm/s 每秒merge的读操作数(read request merge)
wrqm/s 每秒merge的写操作数
r/s 每秒完成读I/O设备的次数
w/s 每秒完成写I/O设备的次数
rMB/s 用带宽(吞吐量)来表示读写的情况
wMB/s -
avgrq-sz 平均每秒钟request请求的size
avgqu-sz 平均I/O队列深度,HDD可能在4左右,SSD可以达到30左右
await 平均每次设备I/O操作等待时间(ms)
r_await 读的等待时间
w_await 写的等待时间
svctm 平均每次设备I/O操作的服务时间(ms)
%util 每秒钟有百分之多少的时间用于I/O操作,即被io消耗的cpu百分比

Merge将若干个连续地址的IO请求进行合并来提高IO的效率

r/s + w/s = IOPS

avgrq-sz其实就是每秒读取的扇区的数量,每个扇区在磁盘上固定为512bit,这个值乘以512就是带宽(rMB/s+wMB/s)了,也可以说是每秒钟平均请求的块大小

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

以上是关于使用iostat查看磁盘使用情况的主要内容,如果未能解决你的问题,请参考以下文章

2018-1-23 7周2次课 iostat,free,ps,netstat,tcpdump

iostat查看系统的IO负载情况

iostat 监视I/O子系统

Linux磁盘I/O性能监控之iostat详解

linuxiostat查看磁盘io利用率

linuxiostat查看磁盘io利用率