首页 > 系统相关 >【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍

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

时间:2024-06-10 21:31:39浏览次数:24  
标签:kB await iostat 数据量 Linux 磁盘 CPU

【工作必备知识】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

标签:kB,await,iostat,数据量,Linux,磁盘,CPU
From: https://blog.csdn.net/qq_48450494/article/details/139582520

相关文章

  • 【Gold菜鸟】Linux知识回忆(4)——磁盘存储和文件系统管理
    前言这一部分让我们来了解,Linux中的磁盘存储和文件系统管理吧~VX: wenjinworkon目录磁盘结构1.1设备文件1.2硬盘类型1.3硬盘类型管理存储2.1磁盘分区2.1.1MBR2.1.2GPT2.1.3管理分区命令2.2文件系统2.2.1文件系统类型2.2.2创建文件系统2.3挂载2.3......
  • linux内核空间进程为什么无论如何切换,内核地址空间转换到物理地址的关系是永远不变的?
    在Linux内核中,无论如何切换进程,内核地址空间转换到物理地址的关系是永远不变的,主要原因是内核地址空间在所有进程中是共享的。这种设计有几个关键点:1.内核地址空间共享在Linux操作系统中,每个进程都有自己独立的用户空间地址范围,但内核空间地址范围对所有进程是共享的。具体来说......
  • Linux权限
    ⽂件权限⽂件权限就是⽂件的访问控制权限,即哪些⽤户和组群可以访问⽂件以及可以执⾏什么样的操作。Unix/Linux系统是⼀个典型的多⽤户系统,不同的⽤户处于不同的地位,对⽂件和⽬录有不同的访问权限。为了保护系统的安全性,Unix/Linux系统除了对⽤户权限作了严......
  • 共享磁盘架构
    什么是共享磁盘架构?共享磁盘架构是一种数据存储和处理方法,允许多台计算机访问共享存储系统。在此架构中,所有节点或服务器都可以直接访问同一磁盘或存储设备,从而使它们能够同时读取和写入数据。这种方法无需数据复制,并允许在网络中的不同节点之间实现无缝数据共享和协作。共享磁......
  • linux网络设置
    网络设置ifconfig(interfaceconfiguration)如果想使用ifconfig命令要安装net-tools软件包yuminstallnet-toolsens33en: Ethernet(以太网)s: 代表slot(插槽)33: 插槽编号,在主板上为了识别每个插槽的唯一性,33就是被插入插槽的编号命令说明ifconfig显示......
  • Linux远程访问及控制
    设备信息主机名称IP地址用途test01192.168.221.130被远程连接(服务器)test02192.168.221.131使用远程连接(客户端)OpenSSH服务器        SSH(SecureShell)协议是一种安全通道协议对通信数据进行了加密处理,用于远程管理使用TCP协议        OpenSSH服务器......
  • Linux网络设置
    目录网络设置ifconfig(interfaceconfiguration)主机路由查看进程相关信息跟踪路由解析指定域名域名解析配置文件网络设置ifconfig(interfaceconfiguration)如果想使用ifconfig命令要安装net-tools软件包yuminstallnet-toolsens33en:Ethernet(以太网)s:代表slot......
  • 【教程】在Linux系统上安装Docker和Docker Compose
    介绍Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。DockerCompose是在使用Docker容器部署分布式应用时的工具,可以定义哪个容器运行哪个应用。使用Compose,你只需定义一个多容器应用的yml文件,然后使用一条命令即可部署运行所有容器......
  • 在Linux中,如何选择 Linux 操作系统版本?
    选择Linux操作系统版本时,您需要考虑多个因素来确保所选版本能够满足您的特定需求。以下是一些关键的考虑点:目的和经验水平:新手用户:如果刚开始接触Linux,建议选择用户友好的发行版,如Ubuntu、Mint或Kubuntu。这些系统提供了良好的图形界面,丰富的软件库,以及活跃的社区支持,非常适......
  • 在Linux中,什么是硬链接和软链接?
    在Linux中,硬链接(HardLink)和软链接(SoftLink,也称为符号链接SymbolicLink)是两种用于引用文件或目录的机制。以下是关于这两种链接的详细解释:1.硬链接(HardLink)定义:硬链接是通过文件系统中的索引节点(inode)来进行连接的。多个文件名可以指向同一个索引节点,这就是硬链接。特......