Linux 中的 iostat 命令——监控和生成 CPU 和设备利用率报告

Linux 中的 iostat 命令 允许您监控所有磁盘和文件系统的 CPU 利用率和 I/O(输入/输出)统计信息。 Iostat 报告对于更改系统配置以更好地平衡物理磁盘之间的输入/输出负载很有用。 这个命令是必须知道的 Linux系统管理员. 在本教程中,我们将学习 iostat 命令并探索可用的不同选项。

让我们开始吧

使用 iostat 命令生成报告和统计信息

要使用 iostat 命令生成报告和统计信息,请使用:

iostat 

输出 :

Iostat 输出

在输出中有两种类型的报告。 第一个是 CPU 使用率报告. 第二个是 设备利用率报告。

让我们尝试了解输出中的不同字段。

1. CPU 使用率报告

CPU 利用率报告具有以下字段:

  • %用户: 显示在用户级别执行时发生的 CPU 利用率百分比。
  • %好的 : 显示在用户级别执行时发生的 CPU 使用率百分比 好的优先级.
  • %系统 : 显示在系统(内核)级别执行时发生的 CPU 利用率百分比。
  • %iowait : 显示系统有未完成的磁盘 I/O 请求期间 CPU 处于空闲状态的时间百分比。
  • %偷 : 显示虚拟机管理程序为另一个虚拟处理器提供服务时虚拟 CPU 花费在非自愿等待上的时间百分比。
  • %闲置的 : 显示 CPU 空闲且系统没有未完成的磁盘 I/O 请求的时间百分比。

2. 设备使用报告

设备利用率报告包含以下字段:

  • 设备 : 显示 /dev 目录中列出的设备/分区名称。
  • tps : 显示数量 每秒传输 发给设备。 传输是对设备的 I/O 请求。
  • Blk_read/s : 显示从设备读取的数据量,以每秒块数(千字节、兆字节)表示。 这是读取数据的速率。
  • Blk_wrtn/s : 写入设备的数据量,以每秒块数(千字节、兆字节)表示。 这是写入数据的速率。
  • blk_dscd/s :设备丢弃的数据以每秒块数(千字节、兆字节)表示。 这是数据被丢弃的速率。
  • 黑读: 读取的块总数。
  • Blk_wrtn : 写入的块总数。
  • blk_dscd :显示丢弃的块总数。

您也可以单独生成两个报告。 让我们学习如何做到这一点。

仅显示 CPU 利用率报告

要仅显示 CPU 利用率报告,请使用 -c 标志 与iostat一起。 句法:

iostat -c 

输出 :

CPU 使用率报告

仅显示设备利用率报告

要仅显示设备利用率报告,请使用 -d 标志 与iostat一起。 句法:

iostat -d 

输出:

设备利用率报告设备利用率报告

以人类可读的格式获取输出

如果您将 -h 标志与 iostat 命令一起使用,它会在 人类可读的格式。

iostat -h 

输出 :

人类可读格式人类可读格式

现在所有的值都有单位。

生成 JSON 格式的报告

JSON 的缩写 JavaScript 对象表示法. 它是一种开放的标准文件格式和数据交换格式,它使用人类可读的文本来存储和传输由属性值对和数组数据类型组成的数据对象。 它是一种流行的发送和接收数据的格式。 如果您想将报告发送给某人,则建议使用 JSON 格式。

要以 JSON 格式获取报告,请使用:

iostat -o JSON 

输出:

JSONJSON

显示不同单位的iostat统计信息

您可以自定义 iostat 报告中的单位。 我们将查看与 iostat 命令一起可用的两个选项。 这些是 :

  • -k : 以千字节/秒为单位显示统计信息
  • -m : 以每秒兆字节显示统计信息

以千字节每秒显示统计信息

要以每秒千字节为单位显示统计信息,请使用 -k 标志 连同 iostat 命令。

iostat -k 

输出 :

每秒千字节每秒千字节

以每秒兆字节显示统计信息

要以每秒兆字节为单位显示统计信息,请使用 -m 标志 连同 iostat 命令。

iostat -m 

输出 :

每秒兆字节每秒兆字节

结论

本教程是关于 Linux 中的 iostat 命令。 我们学习了如何使用此命令生成 CPU 和设备利用率报告。 要了解有关 isostat 命令的更多信息,请参阅其联机手册页或使用 man 命令。