linux查看磁盘io负载

本文介绍了在Linux系统中通过iostat和iotop工具来监控和分析磁盘IO负载。%iowait并不直接表示I/O瓶颈,而iostat的%util参数能反映设备的繁忙程度。当需要定位IO高负载的进程和文件来源时,iotop工具成为有效的解决方案。通过安装并使用iotop -oP命令,可以详细查看进程的IO活动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iowait


命令:sar -u 可以看到有一项为iowait
在这里插入图片描述

%iowait 表示在一个采样周期内有百分之几的时间属于以下情况:CPU空闲、并且有仍未完成的I/O请求。
即: %iowait = (cpu idle time)/(all cpu time)

注意:
%iowait 不表示CPU不能工作的时间,
%iowait 不表示I/O有瓶颈。

所以说%iowait 所含的信息量非常少的原因,它是一个非常模糊的指标,如果看到 %iowait 升高,并不一定说明磁盘io负载过大。

那么我们怎么查看磁盘的io负载情况呢?
答: iostat

iostat

命令:
iostat -x 1 10
注:-x 选项将用于显示和io相关的扩展数据; 1表示间隔;10表示时间


avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.25    0.00    3.65    0.98    0.00   89.13

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     2.32    0.15    3.94     2.49    27.02    14.43     0.43  105.56    9.39  109.11   4.26   1.74
vdb               0.00     0.47    0.00    0.82     0.37    60.53   148.49     0.07   79.62    6.32   80.01   6.49   0.53

%util: 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度
。一般地,如果该参数是100%表示设备已经接近满负荷运行了。

通过iostat工具我们可以查看服务器的io负载情况,但是无法快速定位到io负载的来源,那么我们怎么定位io高负载的进程,甚至是负载来源文件呢。
参考:https://developer.aliyun.com/article/462565?spm=a2c6h.14164896.0.0.27c36a28jNwzbs
答案:iotop

iotop

用到的工具:
iotop: http://guichaz.free.fr/iotop/
安装:yum -y install iotop

命令: iotop -oP
参数:

   -o, --only 只显示正在产生I/O的进程或线程。除了传参,可以在运行过程中按o生效。

   -b, --batch 非交互模式,一般用来记录日志

   -n NUM, --iter=NUM 设置监测的次数,默认无限。在非交互模式下很有用

   -d SEC, --delay=SEC 设置每次监测的间隔,默认1秒,接受非×××数据例如1.1

   -p PID, --pid=PID 指定监测的进程/线程

   -u USER, --user=USER 指定监测某个用户产生的I/O

   -P, --processes 仅显示进程,默认iotop显示所有线程

   -a, --accumulated 显示累积的I/O,而不是带宽

   -k, --kilobytes 使用kB单位,而不是对人友好的单位。在非交互模式下,脚本编程有用。

   -t, --time 加上时间戳,非交互非模式。

   -q, --quiet 禁止头几行,非交互模式。有三种指定方式。

          -q     只在第一次监测时显示列名

          -qq    永远不显示列名。

          -qqq   永远不显示I/O汇总。

pt-ioprofile:http://www.percona.com/downloads/percona-toolkit/2.2.1/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值