linux运维常用命令之iostat
  

CQxxk 1298

{{ttag.title}}
本帖最后由 CQxxk 于 2019-9-26 18:40 编辑

    上一篇文章详细介绍了使用top命令来整体的检查Linux系统负载的情况,本次主要讲如何通过命令来判断Linux系统IO的情况,是否是因为磁盘IO问题导致的系统卡慢或者服务异常。本次讲到的命令是iostat。
    iostat命令
    iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。
    在判断磁IO 之前,首先我们需要确认系统挂载了几块磁盘,确认磁盘数量可以通过lsblk命令来查看,执行结果如下,可以看到本次演示的虚拟机挂载了四块磁盘:

    接下来进入重点,我们先来看一下iostat命令默认的执行情况:
avg-cpu:
    1、默认执行结果可以看到系统CPU(avg-cpu)的状态,此处主要关注%iowait和%idle的数值,%iowait表示CPU等待IO完成时间比,如果数值过高,表示CPU等待磁盘IO延时比较高,此时可能存在磁盘IO瓶颈。%idle表示CPU空闲时间比,数值越低表示CPU越繁忙,如果持续低于%10则需要解决CPU资源。
Device:
    1、Device各列表示:每秒传输次数,每秒读取的数据量、每秒写入数据量、以及读、写总量。在这里我们不太容易判断出磁盘是否存在IO瓶颈,通常我们会加相关参数来显示更详细的信息来判断。
     重要参数
     在使用iostat命令时我们通常会搭配以下参数得到我们想要的结果:
    -m  以M字节显示统计信息
      -x  显示扩展信息
    我们来看一下使用了-m -x参数以后的结果:

    此时我们可以看到关于每块磁盘显示的信息更加全面了,那么哪些是对我们分析比较有帮助的呢?此时我们主要关注以下两个参数:
    await:平均每次设备IO操作等待的时间(单位毫秒)
    %util:1秒内IO队列非空闲时间比
    当%util接近或者等于100%表明IO请求太多,满负荷了。await数值较大时表示磁盘延时比较高,存在性能瓶颈。
    小技巧
    通常在使用iostat命令时都不会只看一次输出的数据,会根据不同的采样频率打印多次的结果来判断,因此在使用iostat -m -x时还可以加上采样频率和打印次数,如每隔两秒采样一次,打印3次结果可以使用如下命令:iostat -m -x 2 3




      

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

范加龙 发表于 2019-9-27 09:24
  
写得很详细,收藏一下,备用着
ie5000 发表于 2019-10-9 09:36
  
流弊克拉斯,linux对我来说一直很神秘
carl 发表于 2019-10-25 09:08
  
楼主对linux研究很透啊,最近分享了很多linux相关的知识点
蟲爺 发表于 2022-3-6 00:54
  
感谢分享
新手884373 发表于 2023-2-21 22:40
  
util指的是采样周期内in_flight不为0的时间相对于总时间的占空比。
    但是这又带来了另外一个问题,util这个指标本意是用来表示磁盘当前的负载或者说磁盘性能的使用率,按照上面的定义计算的方法显然是有问题的,例如我有个盘处理1个I/O需要的时间是1ms,有能力并行处理10个I/O(有10个IO队列),一共有1000个I/O需要处理,如果我每次合并I/O数都是10那么总处理时间应该是100ms,util计算结果100/1000=10%,但是如果我把它串行起来一次只下发一个,那么总完成时间就是1000ms,util计算结果就1000/1000=100%,所以这个值在一定意义上取决于内核如何合并优化IO请求或者也取决于上层应用读写的离散程度,从这个角度来说util已经没有什么实际意义了。
    另一种更直观的场景,我上层发起IO的对象肯定是不唯一的,依然假设处理一条IO的时间为100ms,磁盘有10个队列,0-0.1s 在第一个队列中有IO,0.1-0.2s在第二个队列中有IO,依此类推如图,这样的话整个1s中in_flight始终不为0,所以计算得到的util = 100%,但是这显然不符合时间情况。 PS:svctm:已被废弃的指标,没什么意义,svctm=[util/tput]
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
技术笔记
GIF动图学习
干货满满
技术咨询
产品连连看
功能体验
新版本体验
2023技术争霸赛专题
每周精选
信服课堂视频
信服圈儿
标准化排查
深信服技术支持平台
自助服务平台操作指引
华北区交付直播
秒懂零信任
畅聊IT
安装部署配置
华北区拉练
场景专题
答题自测
在线直播
网络基础知识
VPN 对接
终端接入
排障笔记本
社区帮助指南
通用技术
技术晨报
专家问答
技术圆桌
MVP
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
北京区每日一练
故障笔记

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人