Linux 下使用iostat命令生成CPU和I/O的统计报告

CPU是一台电脑的大脑。所有的处理命令都运行在上面。I/O(输入/输出)同样扮演了一个重要角色。硬盘用于提供数据给处理器并保存CPU处理过的数据。一种衡量处理器和I/O利用率的方法是使用iostat命令。通过它们的利用率,我们可以决定是否该增加更多资源。

Linux 下使用iostat命令生成CPU和I/O的统计报告

iostat 是什么

iostat通过观察设备的活跃时间和他们平均传输率之间的关系来监视系统的输入/输出设备负载。iostat生成的报告可以用于修改系统配置从而更好在物理硬盘间平衡输入/输出的报告。

安装 iostat

iostat包含在sysstat包内。如果你没有,你首先需要安装它。

在 RedHat / CentOS / Fedora

# yum install sysstat

在 Debian / Ubuntu / Linux Mint

$ sudo apt-get install sysstat

如何运行 iostat

要运行它,只需在控制台下输入iostat。下面是一个例子。

$ iostat

Linux 下使用iostat命令生成CPU和I/O的统计报告

下面是如何读取iostat默认报告

第一部分包含了CPU报告

  • %user : 显示了在执行用户(应用)层时的CPU利用率
  • %nice : 显示了在以nice优先级运行用户层的CPU利用率
  • %system : 显示了在执行系统(内核)层时的CPU利用率
  • %iowait : 显示了CPU在I/O请求挂起时空闲时间的百分比
  • %steal : 显示了当hypervisor正服务于另外一个虚拟处理器时无意识地等待虚拟CPU所占有的时间百分比。
  • %idle : 显示了CPU在I/O没有挂起请求时空闲时间的百分比

第二部分包含了设备利用率报告

  • Device : 列出的/dev 目录下的设备/分区名称
  • tps : 显示每秒传输给设备的数量。更高的tps意味着处理器更忙。
  • Blk_read/s : 显示了每秒从设备上读取的块的数量(KB,MB)
  • Blk_wrtn/s : 显示了每秒写入设备上块的数量(KB,MB)
  • Blk_read : 显示所有已读取的块
  • Blk_wrtn : 显示所有已写入的块

以KB或MB捕捉iostat

默认上,iostat以B为单位衡量I/O系统。为了更便于阅读,我们可以iostat将报告转换成以KB或者MB为单位。只需要加入-k参数来创建以KB为单位-m参数来创建以MB为单位

$ iostat -k

Linux 下使用iostat命令生成CPU和I/O的统计报告

$ iostat -m

Linux 下使用iostat命令生成CPU和I/O的统计报告

要扩展报告,我们可以在iostat后面跟上-x选项

$ iostat -x

Linux 下使用iostat命令生成CPU和I/O的统计报告

相关推荐