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性能信息,如下所示:
iostat -dxm 1 -- 红帽
Linux 4.19.113-300.el7.x86_64 (172-16-130-211) 12/04/2023 _x86_64_ (40 CPU)
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.01 1.05 6.65 10.83 0.48 0.53 118.48 1.19 67.76 13.45 101.14 2.73 4.77
sdb 0.13 2.94 1.00 113.43 0.03 1.25 22.92 0.08 0.69 1.88 0.67 0.18 2.01
dm-0 0.00 0.00 6.76 11.88 0.48 0.53 111.11 1.47 78.81 13.49 115.97 2.56 4.77
iostat -dxm 1 -- 麒麟
Linux 4.19.90-24.4.v2101.ky10.aarch64 (10-10-88-17) 12/04/2023 _aarch64_ (8 CPU)
Device r/s rMB/s rrqm/s %rrqm r_await rareq-sz w/s wMB/s wrqm/s %wrqm w_await wareq-sz d/s dMB/s drqm/s %drqm d_await dareq-sz aqu-sz %util
dm-0 0.03 0.01 0.00 0.00 4.90 483.46 22.30 0.60 0.00 0.00 1.63 27.74 0.00 0.00 0.00 0.00 0.00 0.00 0.04 2.39
dm-1 0.00 0.00 0.00 0.00 0.00 73.76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 70.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.03 0.01 0.00 1.54 4.87 484.74 21.66 0.60 0.64 2.86 1.66 28.15 0.00 0.00 0.00 0.00 0.00 0.00 0.01 2.37
其中,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:设备的利用率,即设备处于繁忙状态的时间占总时间的百分比。
iostat
是一个能够提供系统输入输出统计信息的工具,可以查看磁盘I/O、CPU使用率等信息。下面分别对你给出的各个指标进行解释:
-
Device
: 这是设备的名称。 -
r/s
: 每秒读取(从设备)的次数。 -
rMB/s
: 每秒从设备读取量,单位为MB。 -
rrqm/s
: 每秒读请求合并的数量。 -
%rrqm
: 读请求合并的百分比。 -
r_await
: 读操作的平均等待时间(以毫秒为单位)。 -
rareq-sz
: 平均读取大小,单位为扇区。 -
w/s
: 每秒写入(到设备)的次数。 -
wMB/s
: 每秒写入设备的数据量,单位为MB。 -
wrqm/s
: 每秒写请求合并的数量。 -
%wrqm
: 写入请求合并的百分比。 -
w_await
: 写操作的平均等待时间(以毫秒为单位)。 -
wareq-sz
: 平均写入大小,单位为扇区。 -
d/s
: 每秒删除(从设备)的次数。 -
dMB/s
: 每秒删除设备的数据量,单位为MB。 -
drqm/s
: 每秒删除请求合并的数量。 -
%drqm
: 删除请求合并的百分比。 -
d_await
: 删除操作的平均等待时间(以毫秒为单位)。 -
dareq-sz
: 平均删除大小,单位为扇区。 -
f/s
: 每秒完成的操作数。 -
f_await
: 完成操作的平均等待时间(以毫秒为单位)。 -
aqu-sz
: 请求队列的平均大小。 -
%util
: 设备的使用百分比。
这些信息可以帮助我们理解系统运行状况,如磁盘I/O负载,设备是否忙碌,读写请求等待时间等。
iotop
iotop是一款Linux系统的性能监控工具,用于监控磁盘IO使用情况。它可以显示当前系统中磁盘IO使用情况最高的进程信息,包括进程名、进程ID、磁盘IO读写速度等。
使用方法:
- 安装iotop
在大多数Linux系统中,iotop是通过软件包管理器安装的。例如,在Ubuntu系统中,可以使用以下命令安装:
sudo apt-get install iotop
- 运行iotop
运行iotop需要root权限,可以使用以下命令:
sudo iotop
- 查看结果
iotop会实时显示当前系统中磁盘IO使用情况最高的进程信息。可以使用以下快捷键:
- P:按照磁盘IO读取速度排序
- A:按照磁盘IO读写速度排序
- O:按照进程ID排序
- T:按照进程运行时间排序
- q:退出iotop
除此之外,还可以使用其他选项来控制iotop的输出格式和显示内容。可以使用以下命令查看帮助文档:
iotop --help