iostat

iostat -xdm 1

iostat命令是Linux/Unix系统上的一个性能分析工具,它可以用来监控系统的I/O性能,包括CPU利用率、磁盘读写速度、网络吞吐量等。iostat命令可以实时输出系统的I/O性能信息,也可以按照一定的时间间隔输出统计信息。

iostat命令的常用选项如下:

  • -c:显示CPU利用率相关的信息;
  • -d:显示磁盘I/O相关的信息;
  • -n:显示网络I/O相关的信息;
  • -t:在输出中包含时间戳信息;
  • -x:显示详细的磁盘I/O相关信息,包括磁盘的平均响应时间、I/O队列长度等。

例如,使用iostat -d命令可以查看磁盘I/O性能信息,如下所示:

Device:            tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
sda               0.32         0.00         3.20         0.00          0          16          0
sdb               1.64         0.00        13.12         0.00          0          66          0

其中,tps表示每秒钟完成的I/O请求次数,kB_read/s和kB_wrtn/s表示每秒钟读取和写入的数据量。

这是iostat命令输出的磁盘I/O性能信息,各项指标的含义如下:

  • 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请求的等待时间(以毫秒为单位);
  • r_await:平均读取请求的等待时间(以毫秒为单位);
  • w_await:平均写入请求的等待时间(以毫秒为单位);
  • svctm:平均I/O请求的服务时间(以毫秒为单位);
  • %util:设备的利用率,即设备处于繁忙状态的时间占总时间的百分比。

iotop

iotop是一款Linux系统的性能监控工具,用于监控磁盘IO使用情况。它可以显示当前系统中磁盘IO使用情况最高的进程信息,包括进程名、进程ID、磁盘IO读写速度等。

使用方法:

  1. 安装iotop

在大多数Linux系统中,iotop是通过软件包管理器安装的。例如,在Ubuntu系统中,可以使用以下命令安装:

sudo apt-get install iotop
  1. 运行iotop

运行iotop需要root权限,可以使用以下命令:

sudo iotop
  1. 查看结果

iotop会实时显示当前系统中磁盘IO使用情况最高的进程信息。可以使用以下快捷键:

  • P:按照磁盘IO读取速度排序
  • A:按照磁盘IO读写速度排序
  • O:按照进程ID排序
  • T:按照进程运行时间排序
  • q:退出iotop

除此之外,还可以使用其他选项来控制iotop的输出格式和显示内容。可以使用以下命令查看帮助文档:

iotop --help