iostat用法

iostat 是 Linux 系统中用于监控 CPU 使用情况和磁盘 I/O 活动的工具,它可以帮助你了解系统的 I/O 性能,尤其是在磁盘和存储设备上的读写情况。iostatsysstat 工具包的一部分,通常用于检测系统是否存在 I/O 性能瓶颈。

1. 安装 iostat

在一些 Linux 发行版中,iostat 可能没有默认安装,可以通过以下命令安装:

  • Debian/Ubuntu

    sudo apt update
    sudo apt install sysstat
    
  • CentOS/RHEL

    sudo yum install sysstat
    
  • Fedora

    sudo dnf install sysstat
    

2. 基本用法

查看所有设备的 I/O 状况

默认情况下,运行 iostat 会显示系统的 CPU 和所有设备的 I/O 活动情况:

iostat

输出将显示两部分:

  1. CPU 使用情况:显示用户态、系统态、空闲时间等。
  2. 设备 I/O 使用情况:显示设备名称、每秒读/写请求数量、每次请求的平均块大小等。

只查看设备的 I/O 信息

如果你只对存储设备的 I/O 活动感兴趣,可以使用以下命令忽略 CPU 信息:

iostat -d
  • -d:只显示磁盘 I/O 统计信息。

每秒刷新统计信息

可以设置定时刷新统计信息,每隔几秒刷新一次当前的 I/O 使用情况。比如每隔 5 秒刷新一次,并且显示 3 次:

iostat -d 5 3
  • 5:表示每隔 5 秒刷新一次。
  • 3:表示显示 3 次结果。

查看设备的详细 I/O 信息

使用 -x 选项可以查看每个设备的详细 I/O 统计信息:

iostat -x

这将显示如下指标:

  • rrqm/s:每秒合并的读请求数(从操作系统角度)。
  • wrqm/s:每秒合并的写请求数。
  • r/s:每秒完成的读请求数。
  • w/s:每秒完成的写请求数。
  • rMB/s:每秒读出的 MB 数。
  • wMB/s:每秒写入的 MB 数。
  • avgrq-sz:平均每个 I/O 请求的大小(以块为单位)。
  • avgqu-sz:平均 I/O 队列长度。
  • await:I/O 操作的平均等待时间(毫秒)。
  • svctm:平均服务时间(毫秒)。
  • %util:设备的使用率,表示在某个时间段内设备忙碌的百分比。

查看特定设备的 I/O

可以通过指定设备名来查看单个设备的 I/O 情况:

iostat -d -x /dev/sda
  • /dev/sda:指定的设备名称。

只显示某个设备的统计信息

如果你只想查看某个设备的统计数据,可以使用:

iostat -p sda

这将显示与 sda 相关的 I/O 活动。

3. 常用选项

  • -c:只显示 CPU 使用情况。
  • -d:显示磁盘 I/O 统计信息。
  • -k:将结果单位显示为 KB(默认单位是块)。
  • -m:将结果单位显示为 MB。
  • -p:显示指定设备及其分区的 I/O 统计信息。
  • -t:显示统计信息时,附带时间戳。
  • -x:显示设备的详细统计信息。

4. 示例

每隔 2 秒显示一次所有设备的详细 I/O 信息

iostat -x 2

查看特定设备每秒的读写速率

iostat -d -m /dev/sda 1
  • 这将每秒刷新一次 /dev/sda 的读写速率,单位为 MB。

查看设备的读写等待时间和队列长度

iostat -x -p sda
  • await:设备的平均等待时间,通常越小越好。
  • avgqu-sz:设备的平均队列长度,显示等待处理的请求数量。

5. 结果解读

以下是一些常见的指标及其含义:

  • %util:设备的利用率,100% 表示设备始终在忙碌。如果 %util 接近 100%,表示设备可能已经成为系统的性能瓶颈。
  • await:I/O 请求的平均等待时间,通常该值越小越好。如果该值过高,表示 I/O 瓶颈较为严重。
  • r/s, w/s:每秒的读写请求数,显示磁盘的读写频率。
  • rMB/s, wMB/s:每秒读写的 MB 数,显示磁盘的读写带宽。

6. 总结

  • 基本使用:直接运行 iostat 可以查看 CPU 和设备的 I/O 状态。
  • 定时监控:可以设置定时刷新,比如每 5 秒刷新一次 I/O 统计数据。
  • 详细统计:通过 -x 参数可以查看详细的 I/O 指标,包括设备利用率和等待时间。
  • 指定设备:可以通过指定设备名来查看某一设备的性能。

iostat 是一个非常有用的工具,特别是在诊断磁盘 I/O 性能问题和检测系统瓶颈时。

posted @ 2024-10-01 09:15  jasmine456  阅读(97)  评论(0编辑  收藏  举报