iostat

linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令 来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

iostat 由 Red Hat Enterprise Linux AS 发布。同时 iostat 也是 Sysstat 的一部分。所以我们安装要安装sysstat。

iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。

同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

1.1 安装 sysstat 包

sudo apt-get install sysstat 

1.2 语法:

iostat [ 选项 ] [ <时间间隔> [ <次数> ] ]
  • 选项:
-c:仅显示CPU使用情况
-d:仅显示设备利用率
-k:显示状态以千字节每秒为单位,而不使用块每秒
-m:显示状态以兆字节每秒为单位
-p:仅显示块设备和所有被使用的其他分区的状态
-t:显示每个报告产生时的时间
-V:显示版号并退出
-x:显示扩展状态
  • 参数:
间隔时间:每次报告的间隔时间(秒)
次数:显示报告的次数
  • 字段说明:
%user:应用程序使用CPU的时间占比
%nice:拥有高优先级的应用程序使用CPU的时间占比
%system:内核程序使用CPU的时间占比
%iowait:表示等待进行 I/O 所使用 CPU 的时间百分比
%steal : 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
%idle:显示 CPU 的空闲时间
Device:监测设备名称
rrqm/s:每秒需要读取需求的数量
wrqm/s:每秒需要写入需求的数量
r/s :每秒实际读取需求的数量
w/s:每秒实际写入需求的数量
rkB/s:每秒实际读取的大小,单位为KB
wkB/s:每秒实际写入的大小,单位为KB
avgrq-sz:平均每次设备I/O操作的数据大小
avgqu-sz:平均I/O队列长度
await:平均每次设备I/O操作的等待时间
svctm:平均每次设备I/O操作的服务时间
%util:被I/O操作消耗的CPU百分比

1.3 实例:

iostat

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐