简介

  • iostat命令

linux iostat命令 详解

iostat 是一个用于监控系统输入/输出设备和CPU利用率的 Linux 命令。它提供了关于系统性能的实时和平均数据。iostatsysstat 工具包的一部分,因此在使用之前,你可能需要安装这个工具包。

安装 sysstat 工具包:

1
2
sudo apt-get install sysstat   # For Debian/Ubuntu
sudo yum install sysstat       # For Red Hat/CentOS

iostat 基本用法:

1
iostat [options] [interval [count]]
  • options: 可选参数,包括:
    • -c:显示 CPU 使用情况。
    • -d:显示磁盘使用情况。
    • -k:以 KB/s 显示数据传输速率。
    • -m:以 MB/s 显示数据传输速率。
    • -t:显示时间戳。
  • interval: 两次输出之间的时间间隔(秒)。

  • count: 输出次数。

示例用法:

  1. 查看 CPU 使用情况:

    1
    
     iostat -c 2 5
    

    这将每隔 2 秒输出一次 CPU 使用情况,共输出 5 次。

  2. 查看磁盘使用情况:

    1
    
     iostat -d 2 5
    

    这将每隔 2 秒输出一次磁盘使用情况,共输出 5 次。

  3. 以 KB/s 显示磁盘传输速率:

    1
    
     iostat -d -k 2 5
    

    这将每隔 2 秒以 KB/s 显示磁盘传输速率,共输出 5 次。

  4. 显示时间戳:

    1
    
     iostat -t 2 5
    

    这将每隔 2 秒输出一次带有时间戳的系统统计信息,共输出 5 次。

输出解释:

  • CPU 部分:
    • %user:用户态 CPU 占用百分比。
    • %nice:优先级较高的用户态 CPU 占用百分比。
    • %system:内核态 CPU 占用百分比。
    • %iowait:等待磁盘 I/O 的 CPU 占用百分比。
    • %steal:被虚拟机监视程序(VM hypervisor)偷取的 CPU 占用百分比。
    • %idle:空闲 CPU 占用百分比。
  • 磁盘部分:
    • tps:每秒钟传输的块设备 I/O 事务数。
    • Blk_read/s:每秒读取的块数据量(KB/s)。
    • Blk_wrtn/s:每秒写入的块数据量(KB/s)。
    • Blk_read:总的读取块数。
    • Blk_wrtn:总的写入块数。

iostat 提供了对系统性能的快速概览,可以用于监测系统的负载、磁盘 I/O 和 CPU 使用情况。

linux iostat命令 常用技巧

在使用 iostat 命令时,以下是一些常用的技巧和选项,以更有效地监测系统的 I/O 性能:

  1. 监测特定磁盘的 I/O:
    1
    
    iostat -d <disk_name> 2 5
    

    <disk_name> 替换为要监测的磁盘的名称,这样可以针对特定磁盘进行 I/O 监测。

  2. 以 MB/s 显示数据传输速率:
    1
    
    iostat -d -m 2 5
    

    使用 -m 选项以 MB/s 显示磁盘传输速率,这对于更容易理解大量数据的流动速率很有帮助。

  3. 仅显示 CPU 信息:
    1
    
    iostat -c 2 5
    

    使用 -c 选项仅显示 CPU 相关的信息,有助于监测 CPU 利用率。

  4. 显示所有设备的详细信息:
    1
    
    iostat -x 2 5
    

    使用 -x 选项显示详细信息,包括每个设备的更多统计数据,如每个设备的平均负载、I/O 请求的等待时间等。

  5. 指定输出字段顺序:
    1
    
    iostat -d -m -k 2 5 -p sda sdb
    

    使用 -p 选项可以指定要显示的磁盘设备,这对于只关注特定设备很有帮助。

  6. 实时监测 I/O 活动:
    1
    
    iostat -xtc 2
    

    使用 -t 选项以及 -c-x 选项,可以实时监测 I/O 活动、CPU 使用率和扩展信息。

  7. 自定义输出字段:
    1
    
    iostat -d -m -k -N -o JSON 2 5
    

    使用 -o 选项以 JSON 格式输出信息,可以更容易地集成到脚本或其他工具中进行后续处理。

  8. 查看磁盘队列长度:
    1
    
    iostat -x 2 5 | grep avgqu-sz
    

    使用 -x 选项查看平均磁盘队列长度 (avgqu-sz),这是一个指标,用于评估磁盘 I/O 请求的排队情况。

这些技巧可以帮助你更灵活地使用 iostat 命令,以满足你的具体需求并更好地监测系统的 I/O 性能。

iostat

iostat是一个Linux命令,用于报告和存档系统磁盘IO活动的统计信息。它可以提供有关磁盘读写速度、IO等待时间、IO请求队列长度以及CPU利用率的信息。

以下是iostat命令的常用选项和用法:

1
iostat [options] [interval] [count]

常用选项:

  • -c:仅显示CPU利用率统计。
  • -d:仅显示磁盘IO统计。
  • -k:以KB为单位显示统计信息。
  • -m:以MB为单位显示统计信息。
  • -x:显示详细的磁盘IO统计,包括每个设备的读写速度、IO等待时间、IO请求队列长度等。
  • -t:在每一行的输出中显示时间戳。
  • -y:在每一行的输出中显示日期和时间。
  • -h:显示帮助信息。

示例用法:

  1. 显示磁盘IO统计信息:
1
iostat

上述命令将显示所有磁盘设备的读写速度、IO等待时间和IO请求队列长度。

  1. 以1秒的间隔连续显示磁盘IO统计信息,共显示5次:
1
iostat 1 5

上述命令将每秒显示一次磁盘IO统计信息,连续显示5次。

  1. 仅显示CPU利用率统计信息:
1
iostat -c

上述命令将仅显示CPU的利用率统计信息。

  1. 显示详细的磁盘IO统计信息:
1
iostat -x

上述命令将显示详细的磁盘IO统计信息,包括每个设备的读写速度、IO等待时间、IO请求队列长度等。

iostat命令还支持其他选项和用法,您可以通过man iostat命令查看完整的帮助文档和更多示例。