详解Linux iostat命令:显示磁盘和输入/输出操作的统计信息

  • Post category:Linux

下面是详细讲解Linux iostat 命令的作用与使用方法:

1. iostat 简介

iostat(Input/Output statistics)是一个 Linux 系统上,监测和报告 CPU、磁盘和 IO 子系统统计数据的命令行工具。

使用 iostat,您可以查看各个存储设备的 CPU 使用情况,读写操作的速率和 I/O 请求的平均时间等信息,并可以调整相关的性能参数以提高磁盘性能。

2. iostat 常用参数

iostat 的常用参数如下:

  • -c, –cpu:显示CPU使用情况。
  • -d, –device:显示磁盘分区的使用情况。
  • -h, –human:以易于阅读的格式显示输出数据。
  • -k, –kilobytes:以 KB 单位显示输出数据。
  • -m, –megabytes:以 MB 单位显示输出数据。
  • -t, –time:以时间格式显示输出数据。

3. iostat 使用方法

显示 CPU 使用情况

要查看 CPU 使用情况,可以使用以下命令:

iostat -c

该命令将返回类似下面的输出:

Linux 4.15.0-74-generic (host)  06/03/20    _x86_64_    (2 CPU)

avg-cpu: %user    %nice   %system %iowait  %steal   %idle
           6.92     0.00      2.07     0.79     0.00   90.23

Device:            tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd

其中,avg-cpu 表示 CPU 的平均使用情况,%user、%nice、%system、%iowait、%steal、%idle 分别表示用户进程、优先级进程、内核进程、等待 I/O 的时间、被虚拟机偷去的时间和空闲时间的占比。

显示磁盘的使用情况

要查看磁盘的使用情况,可以使用以下命令:

iostat -d

该命令将返回类似下面的输出:

Linux 4.15.0-74-generic (host)  06/03/20    _x86_64_    (2 CPU)

Device            tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
sda              0.57        12.82         3.74         0.02  255763324   74466654     1302128
sdb              0.00         0.03         0.00         0.00      57682          4          678

其中,Device 表示磁盘设备的名称,tps 表示每秒钟的传输速率,kB_read/s 表示每秒钟读取的数据量(单位 KB),kB_wrtn/s 表示每秒钟写入的数据量(单位 KB),kB_dscd/s 表示每秒钟丢弃的数据量(单位 KB),kB_read 表示从磁盘读取的数据总量(单位 KB),kB_wrtn 表示写入磁盘的数据总量(单位 KB),kB_dscd 表示磁盘丢弃的数据总量(单位 KB)。

4. 总结

通过使用 iostat 命令,您可以随时监控 CPU 和磁盘的性能,以了解系统的瓶颈和调整性能参数。上述内容仅仅是 iostat 命令的简单介绍,更深入的了解需要更多的实践和探索。