iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。
iostat主要用于输出磁盘IO和CPU统计信息。
1. iostat用法:
iostat [选项] [<时间间隔>] [<次数>]
命令参数 :
-c :显示CPU使用情况
-d:显示磁盘使用情况
-N:显示磁盘阵列(LVM)信息
-n:显示NFS使用情况
-k:以KB为单位显示
-m:以M为单位显示
-t:报告每秒向终端读取和写入的字符数和CPU信息
-V:显示版本信息
-x:显示详细信息
-p:[磁盘]显示磁盘和分区的情况。
iostat
%user | CPU处在用户模式下的时间百分比 |
%nice | CPU处在带NICE值的用户模式下的时间百分比 |
%system | CPU处在系统模式下的时间百分比 |
%iowait | CPU等待输入输出完成时间的百分比 |
%steal | 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比 |
%idle | CPU空闲时间百分比 |
如果%wait的值过高,表示磁盘存在IO瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量 。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,且明系统中最需要解决的是CPU。
disk属性值说明:
device | 磁盘名称 |
tps | 每秒钟发送到的I/O请求数 |
Blk_read/s | 每秒读取的block数 |
Blk_wrtn/s | 每秒写入的block数 |
Blk_read | 读入的block总数 |
Blk_wrtn | 写入的block总数 |
iostat -d -x -k 1 1 查看设备使用率(%util),响应时间(await)
rrqm/s | 每秒进行merge的读操作数目。即merge/s |
wrqm/s | 每秒进行的merge写操作数目。即wmerge/s |
r/s | 每秒完成的读I/O设备次数。即rio/s |
w/s | 每秒完成的写I/O设备次数。即wio/s |
rkB/s | 每秒读K字节数。是rsect/s的一半,因为每扇区大小为512字节 |
wkB/s | 每秒写K字节数。是wsect/s的一半 |
avgrq-sz | 平均每次设备I/O操作的数据大小(扇区) |
avgqu-sz | 平均I/O队列长度 |
rsec/s | 每秒读扇区数。即rsect/s |
wsec/s | 每秒写扇区数。即wsect/s |
r_await | 每个读操作平均所需的时间,不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间。 |
w_await | 每个写操作平均所需的时间,不仅包括硬盘 设备写操作的时间,还包括了在kernel队列中等待的时间。 |
await | 平均每次设备I/O操作等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio) |
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在等待。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)