Linux每天一个命令:iostat

iostat用于输出CPU和磁盘I/O相关的统计信息

安装Sysstat工具包

  centos: yum install sysstat

  ubuntu: sudo apt-get install sysstat

iostat语法

  Usage: iostat [ options ] [ <interval> [ <count> ] ]

   man iostat 查看具体帮助信息

  常用选项:

  -c     显示CPU信息

  -d     显示磁盘信息

  -k/-m  显示单位kb/mb 

  -x     显示更为详细的信息

  -p     显示系统使用的块设备及其所有分区的统计信息

  interval  刷新间隔时间

  count     总共显示次数

示例:

iostat:系统开机到当前执行时刻的统计信息

  

  字段含义:

  avg-cpu:总体cpu统计信息(系统开机至此刻平均统计信息);

    user:用户空间cpu占用百分比

    nice:进程优先级切换cpu占用百分比

    system:内核空间cpu占用百分比

    iowait:cpu等待磁盘写入完成时间;重点关注:该值较高时,说明IO等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈

    steal:hypervisor偷取时间

    idle:空闲cpu占用百分比

  device:磁盘设备的IO统计信息

    tps:设备每秒IO次数

    KB_read/s:每秒从设备(drive expressed)读取的数据量

    KB_wrtn/s:每秒向设备(driveexpressed)写入的数据量

    KB_read:设备读取的总数据量

    KB_wrtn:设备写入的总数量

iostat -x 1 3:每隔1S输出cpu及磁盘IO的详细信息,总共显示3次

  

  rrqm/s:每秒进行merge(合并)的读操作数目;文件系统会对读取同块(block)的请求进行合并

  wrqm/s:每秒进行merge(合并)的写操作数目

  r/s:每秒完成的读I/O设备次数

  w/s:每秒完成的写I/O设备次数

  rkB/s:每秒读K字节数

  wkB/s:每秒写K字节数

  avgrq-sz:平均每次设备I/O操作的数据大小(扇区为单位)

  avgqu-sz:平均I/O队列长度

  await:平均每次设备I/O操作的等待时间(毫秒)

  svctm:平均每次设备I/O操作的处理时间(毫秒)

  %util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的

 重点关注参数:

  %iowait:表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题

  await: 表示每次IO请求等待时间,包括等待时间和处理时间;等待时间过长,说明磁盘IO存在瓶颈或问题

  svctm :表示每次IO请求处理的时间

  %util :表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态

    

参考:https://www.cnblogs.com/ultranms/p/9327784.html

***********************************************************

 学习永远不晚。——高尔基

***********************************************************

原文地址:https://www.cnblogs.com/chengd/p/10645099.html