iostat命令是IO性能分析的常用工具,其是input/output statistics的缩写。
一、安装
yum install sysstat -y
二、参数说明
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
--dec={ 0 | 1 | 2 }: 指定要使用的小数位数,默认为 2
-g GROUP_NAME { DEVICE [...] | ALL } 显示一组设备的统计信息
-H 此选项必须与选项
-g 一起使用,指示只显示组的全局统计信息,而不显示组中单个设备的统计信息-h 以可读格式打印大小
-j { ID | LABEL | PATH | UUID | ... } [ DEVICE [...] | ALL ] 显示永久设备名。选项 ID、LABEL 等用于指定持久名称的类型
-k 以 KB 为单位显示
-m 以 MB 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p [ { DEVICE [,...] | ALL } ] 显示磁盘和分区的情况
-t 打印时间戳。时间戳格式可能取决于 S_TIME_FORMAT 环境变量
-V 显示版本信息并退出
-x 显示详细信息(显示一些扩展列的数据)
-y 如果在给定的时间间隔内显示多个记录,则忽略自系统启动以来的第一个统计信息
-z 省略在采样期间没有活动的任何设备的输出
三、常用命令使用
iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB),每1s收集1次数据,共收集10次
iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB),每2s收集1次数据
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)等详细数据, 每1s收集1次数据,总共收集10次
iostat -c 1 10 #查看cpu状态,每1s收集1次数据,总共收集10次
[root@192 ~]# iostat
Linux 3.10.0-957.el7.x86_64 (192.168.100.100) 2023年10月20日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
7.97 0.00 46.64 0.37 0.00 45.02
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 161.30 4983.89 169.55 123002 4184
scd0 0.93 42.06 0.00 1038 0
dm-0 108.02 3670.40 86.57 90585 2136
dm-1 3.65 99.68 0.00 2460 0
cpu属性值说明:
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。
Device:/dev 目录下的磁盘(或分区)名称
tps:该设备每秒的传输次数。一次传输即一次 I/O 请求,多个逻辑请求可能会被合并为一次 I/O 请求。一次传输请求的大小是未知的
kB_read/s:每秒从磁盘读取数据大小,单位KB/s
kB_wrtn/s:每秒写入磁盘的数据的大小,单位KB/s
kB_read:从磁盘读出的数据总数,单位KB
kB_wrtn:写入磁盘的的数据总数,单位KB
[root@192 ~]# iostat -d -k 1 2
Linux 3.10.0-957.el7.x86_64 (192.168.100.100) 2023年10月20日 _x86_64_ (2 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 7.84 233.59 10.56 124107 5611
scd0 0.04 1.95 0.00 1038 0
dm-0 5.39 172.57 6.71 91690 3563
dm-1 0.17 4.63 0.00 2460 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
scd0 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
[root@192 ~]# iostat -d -m 2
Linux 3.10.0-957.el7.x86_64 (192.168.100.100) 2023年10月20日 _x86_64_ (2 CPU)
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 7.54 0.22 0.01 121 5
scd0 0.04 0.00 0.00 1 0
dm-0 5.19 0.16 0.01 89 3
dm-1 0.16 0.00 0.00 2 0
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.00 0.00 0.00 0 0
scd0 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.00 0.00 0.00 0 0
scd0 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
[root@192 ~]# iostat -d -x -k 1 2
Linux 3.10.0-957.el7.x86_64 (192.168.100.100) 2023年10月20日 _x86_64_ (2 CPU)
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.01 0.03 6.89 0.31 213.87 9.79 62.17 0.00 0.54 0.53 0.80 0.45 0.32
scd0 0.00 0.00 0.04 0.00 1.79 0.00 90.26 0.00 5.04 5.04 0.00 4.48 0.02
dm-0 0.00 0.00 4.63 0.33 158.01 6.26 66.27 0.00 0.61 0.60 0.79 0.49 0.24
dm-1 0.00 0.00 0.16 0.00 4.24 0.00 54.67 0.00 0.16 0.16 0.00 0.09 0.00
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.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
scd0 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-0 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-1 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
[root@192 ~]# iostat -c 1 2
Linux 3.10.0-957.el7.x86_64 (192.168.100.100) 2023年10月20日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.31 0.00 1.79 0.02 0.00 97.88
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.50 0.00 0.00 99.50