Linux命令(140)之iostat

linux命令之iostat

1.iostat介绍

linux命令iostat(即:I/O statistics)是用来对系统的磁盘操作进行监视

2.iostat用法

iostat [参数]

|----|-------------|
| 参数 | 说明 |
| -c | 显示CPU的使用情况 |
| -d | 显示磁盘的使用情况 |
| -k | 以KB为单位显示 |
| m | 以MB为单位显示 |
| -x | 显示详细信息 |
| -t | 显示终端和CPU的信息 |
[iostat参数]

3.实例

3.1.显示所有设备负载

命令:

iostat

[root@centos79 ~]# iostat
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.81    0.00    0.79    1.02    0.00   96.38

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               7.51       215.34        19.60    1431398     130315
scd0              0.01         0.31         0.00       2074          0
dm-0              7.62       213.00        18.99    1415827     126219
dm-1              0.01         0.33         0.00       2208          0
dm-2              0.03         0.39         0.31       2583       2048

[root@centos79 ~]# 

其中:

%user:表示处在用户模式下的CPU时间百分比

%nice:表示处在带nice值的用户模式下的CPU时间百分比

%system:表示处在系统模式下的

%iowait:表示CPU等待输入输出完成的时间百分比

%steal:表示虚拟CPU的无意识等待时间百分比

%idle:CPU空闲时间百分比

tps:设备每秒的传输次数

kB_read/s:每秒从设备读取的数据量

kB_wrtn/s:每秒向设备写入的数据量

kB_read:读取的总数据量

kB_wrtn:写入的总数据量

如果 %iowait 的值过高,表示硬盘存在 I/O 瓶颈,%idle 值高,表示 CPU 较空闲,如果 %idle值

高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。%idle 值如果持续低于

10,那么系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

3.2.实时显示所有设备负载

命令:

iostat 2 3

每隔2秒刷新显示,显示3次设备负载

[root@centos79 ~]# iostat 2 3
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.72    0.00    0.75    0.94    0.00   96.60

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               7.04       198.66        19.06    1431398     137336
scd0              0.01         0.29         0.00       2074          0
dm-0              7.15       196.50        18.49    1415827     133240
dm-1              0.01         0.31         0.00       2208          0
dm-2              0.02         0.36         0.28       2583       2048

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.76    0.00    0.25    0.00    0.00   98.99

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
dm-2              0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.51    0.00    0.25    0.00    0.00   99.24

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
dm-2              0.00         0.00         0.00          0          0

[root@centos79 ~]# 

3.3.显示指定磁盘信息

命令:

iostat -d sda2

[root@centos79 ~]# iostat -d sda2
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_x86_64_	(2 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda2              6.95       195.36        18.66    1422746     135865

[root@centos79 ~]# 

3.4.显示tty和cpu的信息

命令:

iostat -t

[root@centos79 ~]# iostat -t
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_x86_64_	(2 CPU)

2023年11月30日 10时40分58秒
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.69    0.00    0.74    0.92    0.00   96.64

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.93       195.03        18.92    1431398     138852
scd0              0.01         0.28         0.00       2074          0
dm-0              7.04       192.91        18.36    1415827     134756
dm-1              0.01         0.30         0.00       2208          0
dm-2              0.02         0.35         0.28       2583       2048

[root@centos79 ~]# 

3.5.以KB为单位显示所有信息

命令:

iostat -k

[root@centos79 ~]# iostat -k
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.69    0.00    0.74    0.92    0.00   96.66

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.91       193.78        18.94    1431398     139898
scd0              0.01         0.28         0.00       2074          0
dm-0              7.01       191.67        18.38    1415827     135802
dm-1              0.01         0.30         0.00       2208          0
dm-2              0.02         0.35         0.28       2583       2048

[root@centos79 ~]# 

3.6.以MB为单位显示所有信息

命令:

iostat -m

[root@centos79 ~]# iostat -k
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.69    0.00    0.74    0.92    0.00   96.66

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.91       193.78        18.94    1431398     139898
scd0              0.01         0.28         0.00       2074          0
dm-0              7.01       191.67        18.38    1415827     135802
dm-1              0.01         0.30         0.00       2208          0
dm-2              0.02         0.35         0.28       2583       2048

[root@centos79 ~]# 

3.7.查看设备使用率、响应时间

命令:

iostat -d -x -k 1 1

[root@centos79 ~]# iostat -d -x -k  1 1
Linux 3.10.0-1160.102.1.el7.x86_64 (centos79) 	2023年11月30日 	_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.16    5.17    1.65   190.45    18.84    61.45     0.09   13.67   17.11    2.88   4.35   2.96
scd0              0.00     0.00    0.01    0.00     0.28     0.00    94.27     0.00   16.00   16.00    0.00  15.14   0.01
dm-0              0.00     0.00    5.12    1.80   188.38    18.30    59.73     0.09   13.54   17.35    2.74   4.27   2.95
dm-1              0.00     0.00    0.01    0.00     0.29     0.00    49.62     0.00    1.78    1.78    0.00   1.75   0.00
dm-2              0.00     0.00    0.02    0.00     0.34     0.27    53.54     0.00    4.15    4.24    0.50   4.12   0.01

[root@centos79 ~]# 

其中,

rrqm/s:每秒进行 merge 的读操作数目。即 rmerge/s

wrqm/s:每秒进行 merge 的写操作数目。即 wmerge/s

r/s:每秒完成的读 I/O 设备次数。即 rio/s

w/s:每秒完成的写 I/O 设备次数。即 wio/s

rKB/s:每秒读 K 字节数

wKB/s:每秒写 K 字节数

avgrq-sz:平均每次设备 I/O 操作的数据大小

avgqu-sz:平均 I/O 队列长度

await:平均每次设备 I/O 操作的等待时间 (毫秒)

r_await:平均每次设备I/O读操作的等待时间(毫秒)

w_await:平均每次设备I/O写操作的等待时间(毫秒)

svctm:平均每次设备 I/O 操作的服务时间 (毫秒)

%util:一秒中有百分之多少的时间用于 I/O 操作,即被 io 消耗的 cpu 百分比

如果 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷,该磁盘可能存在瓶颈。

如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队

列太长,io 响应太慢,则需要进行必要优化。如果 avgqu-sz 比较大,也表示有当量 io 在等待

相关推荐
scoone4 分钟前
解决Ubuntu 22.04系统中网络Ping问题的方法
linux·网络
与君共勉1213812 分钟前
Jenkins-Ansible 插件相关用法
linux·运维·ansible·jenkins
m0_5195231015 分钟前
Linux——环境变量
linux·运维·服务器
ShangCode17 分钟前
Linux系统三剑客之AWK
linux·运维·awk
@无名用户18 分钟前
Linux进程与资源管理
linux·运维·服务器
靡樊33 分钟前
Linux:基础开发工具
linux
Heris9937 分钟前
零基础3分钟快速掌握 ——Linux【终端操作】及【常用指令】Ubuntu
linux·c语言·开发语言·ubuntu
亚林瓜子38 分钟前
BC-Linux8.6上面离线手动安装Docker引擎
linux·运维·docker·容器·bc-linux
我是唐青枫39 分钟前
Linux firewalld 命令详解
linux·运维·网络
生财1 小时前
获取字 short WORD 上指定的位是否有效
java·服务器·c#