【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍

本文主要是介绍【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍

大家好,我是秋意零。

前言:今天,介绍Linux磁盘I/O故障排查时,必备命令iostat。该命令是监视系统I/O设备使用负载,它可以实时监视IO设备,从而帮助我们进行分析定位问题。

iostat 命令介绍

iostat 命令:监视系统I/O设备使用负载

语法:iostat [选项] [时间间隔 interval] [次数 count]

常用参数:

  • -c:显示CPU使用情况
  • -y:跳过不显示第一次报告的数据
  • -d:显示磁盘使用情况
  • -k:以KB为单位显示磁盘读写数据量
  • -m:以MB为单位显示磁盘读写数据量
  • -N:显示磁盘阵列(LVM)信息
  • -n:显示NFS使用情况
  • -p [磁盘]:显示指定磁盘或所有磁盘和分区的统计信息
  • -t:显示终端和CPU的信息
  • -x:显示详细信息,包括额外的设备和CPU统计
  • -V:显示版本信息

命令解析

1)iostat 默认输出

第一行:Linux 5.10.134-16.1.al8.x86_64 (blog) 06/10/2024 _x86_64_ (2 CPU)

参数解释
Linux 5.10.134-16.1.al8.x86_64 (blog)操作系统内核版本、主机名(blog)
06/10/2024统计日期(2024年6月10日)
x86_64系统是64位
(2 CPU)2个CPU核心

第二行,CPU的平均使用率(avg-cpu):avg-cpu: %user %nice %system %iowait %steal %idle

参数解释
%user用户态CPU时间占比,表示用户进程消耗的CPU时间百分比,< 60%
%nice以低优先级(nice)运行的用户进程占用的CPU时间百分比
%system内核态CPU时间占比,即操作系统内核自身消耗的CPU时间百分比,sy+us < 80%
%iowait(重要)I/O等待,表示CPU在空闲时因等待I/O操作完成所花费的时间百分比,< 30%
%steal在虚拟化环境中,被hypervisor强制其他VM占用的CPU时间百分比
%idleCPU空闲时间百分比

一般来说 %idle 持续游走在 20%以下,瓶颈出现在CPU的性能层面,%iowait 高而 %idle 在 70%以上,瓶颈出现在 I/O 设备层面

第三行,磁盘设备的I/O统计信息(Device):Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn

参数解释
Device设备名dm 是 disk mapper 的缩写 可以在 /dev/mapper下查对应谁。参数-N 可以将 dm 转换成相应的 LVM名
tps每秒传输次数(Transactions Per Second),表示每秒磁盘完成的I/O操作数量
kB_read/s每秒从磁盘读取的数据量(以KB为单位),参数-m可以以MB为单位
kB_wrtn/s每秒向磁盘写入的数据量(以KB为单位)
kB_read总共从磁盘读取的数据量(以KB为单位)
kB_wrtn总共向磁盘写入的数据量(以KB为单位)

2)iostat 详细参数输出:iostat -x -d -y 1 3

参数解释:

  • r/s: 每秒读取操作次数
  • w/s: 每秒写入操作次数
  • rkB/s: 每秒从设备读取的数据量
  • wkB/s: 每秒向设备写入的数据量
  • rrqm/s: 每秒读请求合并次数,即读操作中有多少请求被合并执行
  • wrqm/s: 每秒写请求合并次数,同理,此处也没有写请求合并,值为0.00
  • %rrqm: 读请求合并的百分比,既然没有读请求合并,所以是0.00%
  • %wrqm: 写请求合并的百分比
  • r_await: 平均每次读操作的等待时间,包括等待时间和实际服务时间
  • w_await: 平均每次写操作的等待时间
  • aqu-sz: 平均I/O队列长度,也就是平均有多少个I/O请求在等待处理
  • rareq-sz: 平均读请求大小
  • wareq-sz: 平均写请求大小
  • svctm: 平均服务时间,即I/O操作实际处理时间
  • %util: 设备利用率

%util 表示该设备有I/0非空闲的时间比率,不考虑I/0有多少。由于硬盘设备有并行处理多个I/0请求的能力,所以%util即使达到100%也不意味着设备饱和了。

r_await、w_await 多大算有问题?

一般情况下:

  • 对于机械硬盘(HDD),如果r_awaitw_await持续高于10-20毫秒,可能表明存在I/O延迟问题(机械硬盘 await=寻道延迟+旋转延迟+传输延迟rpm 10000为8.38ms)
  • 对于固态硬盘(SSD),由于其更快的读写速度,理想的r_awaitw_await应该更低,通常认为超过1-5毫秒可能需要关注

End

参考:

Linux I/O问题排查 哪个设备的问题 iostat命令详解_哔哩哔哩_bilibili

运维工程师系列-掌握iostat命令给你月薪加1000_哔哩哔哩_bilibili

这篇关于【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050144

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始