1.命令作用
报告中央处理器(CPU)的统计数据,以及设备和分区的输入/输出统计数据(Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions);在最小安装下没有此命令,需要yum install sysstat安装
2.命令语法
Usage: iostat [ options ] [ <interval> [ <count> ] ]
3.参数详解
OPTION:
- -c,仅显示CPU利用率报告
- -d,仅显示设备使用情况报告
- -h,让设备使用情况报告更易于人类阅读(默认参数)
- -k,以千字节每秒为单位显示统计数据(默认参数)
- -m,以兆字节每秒为单位显示统计数据
- -N,显示任何设备映射设备所注册的设备映射名称;有助于查看LVM2的统计信息
- -t,打印每份报告显示的时间;时间戳的格式将取决于环境变量S_TIME_FORMAT的值(详情见下文)
- -V,打印版本号后退出
- -x,显示详细统计信息
- -y,如果在设定的时间间隔内显示多条记录,则在系统启动后省略首次报告(其中包含统计数据)
- -z,告诉 iostat 不要为在采样期间没有发生任何活动的任何设备输出数据
- -j { ID | LABEL | PATH | UUID | ... },
- -T,此选项必须与 -g 选项一同使用,并表示仅需显示该组的全局统计信息,而不包括该组中各个设备的统计信息
- -g <group_name>,显示一组设备的统计信息。iostat 命令会为列表中的每个单独设备报告统计信息,然后会显示一组设备的全局统计信息,其名称为“组名”,由列表中的所有设备组成。ALL 关键字表示系统定义的所有块设备都将包含在该组中
- -p [ <device> [,...] | ALL ],-p 选项会显示系统所使用的块设备及其所有分区的统计信息。如果在命令行中输入了设备名称,则会显示该设备及其所有分区的统计信息。最后,ALL 关键字表示必须为系统定义的所有块设备和分区(包括那些从未使用过的设备)显示统计信息。如果在该选项之前定义了 -j 选项,则可以在命令行中使用所选的持久名称类型来指定设备名称
- <device> [...] | ALL,显示指定的一个、多个或者所有设备查看其设备统计信息
interval,连续输出的时间间隔
count,连续输出的总次数
4.常用用例
4.1.无参数输出CPU和设备统计信息
显示自系统启动以来所有CPU和设备的单条历史记录报告
[root@node2 ~]# iostat
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
24.05 1.40 26.11 1.09 0.00 47.36
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 407.01 17670.61 542.20 1186581 36408
sdb 1.70 36.28 0.00 2436 0
[root@node2 ~]#
# 输出信息解释:
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
内核版本号 主机名 当前日期 CPU架构 CPU核数
avg-cpu: cpu部分
%user 显示在用户级别(应用程序)执行过程中所出现的CPU利用率的百分比值
%nice 显示在以"良好"优先级执行时,用户级别下所发生的CPU利用率的百分比
%system 显示在系统级别(内核级别)执行过程中所出现的CPU利用率的百分比
%iowait 展示在系统存在未完成的磁盘I/O请求期间,CPU或多个CPU处于空闲状态的时间所占的百分比;即CPU等待I/O操作完成的空闲时间百分比(若持续过高,可能表示I/O瓶颈)
%steal 展示在虚拟CPU或这些虚拟CPU中,因主机虚拟化系统正在为其他虚拟处理器服务而处于非自愿等待状态的时间所占的百分比;即虚拟化环境下其他虚拟机占用的CPU时间百分比
%idle 展示CPU或多个CPU在闲置状态下(系统中不存在未完成的磁盘I/O请求)所占用的时间百分比;即CPU完全空闲时间百分比(低于10%可能表示CPU不足)
Device: 设备部分
tps 指出每秒向该设备发出的I/O请求次数;多个逻辑请求可以合并为对设备的单个I/O请求;仅是次数,每次传输的大小不确定
kB_read/s 每秒从设备读取的数据量(默认千字节每秒)
kB_wrtn/s 每秒写入设备的数据量(默认千字节每秒)
kB_read 读取的总数据块数量;启动至今累计读取数据总量(KB)
kB_wrtn 已写入的块总数;启动至今累计写入数据总量(KB)
4.2.仅输出CPU统计信息部分
[root@node2 ~]# iostat -c
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
13.20 4.95 16.65 1.61 0.00 63.59
[root@node2 ~]#
4.3.仅输出设备统计信息部分
[root@node2 ~]# iostat -d
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 326.57 20807.25 498.58 2896369 69403
sdb 0.82 17.50 0.00 2436 0
[root@node2 ~]#
4.4.设备以兆字节作为单位显示
[root@node2 ~]# iostat -m
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.79 0.61 2.22 0.21 0.00 95.18
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 47.75 2.80 0.07 2953 74
sdb 0.11 0.00 0.00 2 0
[root@node2 ~]#
4.5.设备统计信息显示更详细
[root@node2 ~]# iostat -x
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.52 0.51 1.88 0.17 0.00 95.91
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.76 7.06 36.74 3.41 2406.09 60.52 122.86 0.02 0.58 0.59 0.49 0.22 0.88
sdb 0.00 0.00 0.09 0.00 1.94 0.00 42.74 0.00 0.15 0.15 0.00 0.08 0.00
[root@node2 ~]#
# 输出信息解释:
主机信息、cpu信息部分与默认一致
Device: 设备部分
rrqm/s 每秒合并到设备上的排队读取请求的数量
wrqm/s 每秒合并到设备上的写排队入请求的数量
r/s 该设备每秒完成的读请求次数(合并后)
w/s 该设备每秒完成的写请求次数(合并后)
rkB/s 每秒从设备读取的数据块数量(单位KB)
wkB/s 每秒写入设备的数据块数量(KB)
avgrq-sz 向该设备发出的请求的平均大小(以扇区为单位)
avgqu-sz 发送至该设备的请求的平均排队长度(值 >1 可能表示磁盘过载)
await 对设备发出I/O请求被处理完成所需的平均时间(单位ms);包括队列等待时间
r_await 向设备发出的读取请求被处理完成的平均时间(单位ms);包括队列等待时间
w_await 向设备发出的写入请求被处理的平均所需时间(单位ms);包括队列等待时间
svctm 向该设备发出的I/O请求的平均服务时间(单位ms,将会弃用)
%util 设备接收到I/O请求所占用的时间比例(即设备的带宽利用率),接近100%时,表示设备达到饱和状态
4.6.查看指定设备统计信息
多个设备之间空格分开
[root@node2 ~]# iostat sda sdb
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.57 0.17 0.74 0.06 0.00 98.46
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 14.57 807.39 23.29 3118258 89952
sdb 0.03 0.63 0.00 2436 0
[root@node2 ~]#
4.7.显示设备及其分区的统计信息
[root@node2 ~]# iostat -p # 显示所有设备及其分区统计信息
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.56 0.17 0.73 0.06 0.00 98.48
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 14.37 796.23 22.97 3118258 89952
sda1 0.53 1.56 0.53 6126 2068
sda2 0.11 2.00 9.11 7844 35664
sda3 13.72 792.33 13.33 3102987 52220
sdb 0.03 0.62 0.00 2436 0
[root@node2 ~]# iostat -p sda # 显示指定设备及其分区统计信息
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.56 0.17 0.73 0.06 0.00 98.48
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 14.33 794.36 22.91 3118258 89952
sda1 0.53 1.56 0.53 6126 2068
sda2 0.11 2.00 9.09 7844 35664
sda3 13.69 790.47 13.30 3102987 52220
[root@node2 ~]#
4.8.连续输出CPU设备统计信息
Usage: iostat [ options ] [ <interval> [ <count> ] ]
interval,连续输出的时间间隔,一般取正整数值
count,连续输出的总次数,一般取正整数值,设置count必须前面设置interval
作用:可用于统计命令执行时间段CPU和设置的使用情况,一般可与-y参数一起使用
4.8.1.指定连续输出的时间间隔
之间命令后添加整数值即为间隔时间,然后Ctrl + c 退出连续输出
[root@node2 ~]# iostat 2
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.53 0.15 0.69 0.06 0.00 98.57
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 13.34 738.23 21.35 3119126 90192
sdb 0.03 0.58 0.00 2436 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.50 0.00 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
4.8.2.指定连续输出的次数
[root@node2 ~]# iostat 2 3
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.53 0.15 0.68 0.05 0.00 98.59
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 13.16 728.36 21.06 3119126 90195
sdb 0.03 0.57 0.00 2436 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.50 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.50 0.00 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
[root@node2 ~]#
4.8.3.连续输出省略首次报告
[root@node2 ~]# iostat -y 2 2
Linux 3.10.0-957.el7.x86_64 (node2) 08/01/2025 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.00 0.00 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
[root@node2 ~]#
4.9.其他常用命令
iostat # 显示自系统启动以来所有 CPU 和设备的单条历史记录报告
iostat -d 2 # 每隔两秒显示一次连续的设备报告
iostat -d 2 6 # 每隔两秒为所有设备显示六份报告
iostat -x sda sdb 2 6 # 每隔两秒显示 sda 和 sdb 设备的六项扩展统计报告
iostat -p sda 2 6 # 每隔两秒显示关于设备 sda 及其所有分区(如 sda1 等)的六份报告
514

被折叠的 条评论
为什么被折叠?



