iostat 命令是I/O statistics(输入/输出统计)的缩写,iostat工具可以对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况,这在生产环境中非常实用,比如需要查看线上Linux服务器的磁盘读写情况,就可以使用iostat命令查看,iostat属于sysstat软件包,可以用yum install sysstat 直接安装。
iostat可以产生三种类型的报告:cpu利用情况报告、磁盘设备利用情况报告、网络文件系统利用情况报告。
iosta命令语法格式如下:
iostat [选项] [<时间间隔>] [<次数>]
备注:时间间隔以秒为单位
常用选项如下:
-c 表示显示cpu使用情况,默认不写也会显示cpu使用情况
-d 表示显示磁盘使用情况,默认不写也会显示disk使用情况
-h 友好显示
-x 表示显示额外的统计信息
-k 表示以kb为单位显示磁盘请求数
-m 表示以M为单位显示磁盘请求数
-V 显示版本信
-p [磁盘] 显示磁盘和分区的情况
iostat默认就会输出cpu和磁盘设备的信息,如下图所示:
[root@Oracle11g ~]
Linux 3.10.0-1160.31.1.el7.x86_64 (Oracle11g) 12/26/2021 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.20 0.09 0.00 99.46
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.48 48.86 30.89 1147849 725817
dm-0 2.31 47.47 30.81 1115153 723769
dm-1 0.00 0.09 0.00 2204 0
第一行输出的系统的内核、架构、主机名、统计时间、cpu核数等信息;
avg-cpu段: 这一行输出的是总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值,avg-cpu段输出的信息含义如下;
%user: 在用户级别运行所使用cpu的百分比。
%nice: nice操作所使用cpu的百分比。
%system: 在系统级别(kernel)运行所使用cpu的百分比。
%iowait: cpu等待I/O完成时间的百分比,iowait数字越大说明I/O等待越严重。
%steal: 管理程序维护另一个虚拟处理器时,虚拟cpu的无意识等待时间百分比。
%idle: cpu空闲时间的百分比,idle百分比越大说明cpu越空闲,反之idle百分比越小说明cpu越繁忙。
Device段: 各磁盘设备的IO统计信息;
tps:设备每秒的 I/O 请求数,多个逻辑请求可能会被合并为“一次I/O请求”。
Blk_read/s:每秒读取的 block 数
Blk_wrtn/s:每秒写入的 block 数
Blk_read:读入的 block 总数
Blk_wrtn:写入的 block 总数
wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数
备注:从以上的结果我们得知,如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
更多演示示例:
[root@Oracle11g ~]
[root@Oracle11g ~]
[root@Oracle11g ~]
[root@Oracle11g ~]
[root@Oracle11g ~]
[root@Oracle11g ~]
[root@Oracle11g ~]
[root@Oracle11g ~]
|