Linux 查看 IO 负载情况命令之 iostat
文章
林里克斯
iostat 主要用于输出磁盘 IO 和 CPU 的统计信息,有一个很大的缺点 就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
实验平台:CentOS 7.7.1908
sysstat version 10.1.5
一、安装及介绍
1.iostat
依赖于 sysstat
包
$ yum -y install sysstat
$ rpm -qa | grep sysstat
sysstat-10.1.5-19.el7.x86_64
2.参数详情
$ iostat --help 或 iostat -?
Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -c ] #只显示 CPU 使用情况
[ -d ] #只显示磁盘使用情况
[ -h ] #是显示信息更容易查看
[ -k | -m ] #以 KB 为单位显示 | 以 M 为单位显示,不带代为默认以 KB 为单位
[ -N ] #显示任何设备映射器设备的注册设备映射器名称。用于查看 LVM2 统计信息
[ -t ] #显示当前时间,时间戳格式可能取决于 S_TIME_FORMAT 的值
[ -V ] #打印版本号
[ -x ] #显示扩展信息
[ -y ] #如果以给定的时间间隔显示多个记录,则忽略系统启动后的第一个包含统计信息的报告
[ -z ] #不采集没有活动的任何设备输出
[ [ -T ] -g <group_name> ]
#此选项必须与选项-g一起使用,并指示只显示组的全局统计信息,而不是组中单个设备的统计数据
[ -p [ <device> [,...] | ALL ] ]
#显示系统使用的块设备及其所有分区的统计信息,如果查看一个分区接上分区名字
二、实例
1.iostat
$ iostat
Linux 3.10.0-957.21.3.el7.x86_64 (jarbo) 07/08/2019 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.06 0.00 0.05 0.01 0.00 99.88
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.36 11.19 8.44 3756603 2833676
%user:CPU处在用户模式下的时间百分比
%nice:CPU处在带NICE值的用户模式下的时间百分比
%system:CPU处在系统模式下的时间百分比
%iowait:CPU等待输入输出完成时间的百分比
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle:CPU空闲时间百分比
Device:所对应磁盘
Tps:每秒进程下发的IO读、写请求数量
kB_read/s:每秒从驱动器读入的数据量,单位为k
KB_wrtn/s:没秒从驱动器写入的数据量,单位为k
kB_read:读入数据总量,单位为k
kB_wrtn:写入数据总量,单位为k
2.每隔 1
秒输出 1
次,共输出 2
次,以 KB
为单位的磁盘信息
$ iostat -x -k -d 1 2
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.02 0.07 0.29 11.16 8.42 108.04 0.01 29.33 17.38 32.10 1.90 0.07
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
rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率
重点关注参数
- 1、iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。
- 2、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。
- 3、await 表示每次IO请求等待时间,包括等待时间和处理时间
- 4、svctm 表示每次IO请求处理的时间
- 5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1451 0 2020-09-05
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2025-01-18
今日天气
随机推荐
11-16
用 Python 写一个天气预报脚本
01-20
Python 之路之 运算符 (三)
02-13
svn备份库及还原库
01-13
OpenStack搭建之环境配置(一)
10-19
Linux 下查看硬件的相关命令
07-07
深入理解Docker(一)
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:14条
- 本站总访问量 365493 次
@svmuvwpuqi 真棒!
@smdxydrauu 博主太厉害了!
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...