Linux iostat 命令使用详解

devtools/2025/2/7 14:28:16/

简介

iostat 命令用于监控 Linux 系统输入/输出设备的加载情况。它提供有关CPU 统计信息以及设备和分区的输入/输出统计信息。通过显示 I/O 操作如何影响系统性能,它对于诊断性能瓶颈(例如磁盘或网络活动缓慢)特别有用。

安装

  • Debian/Ubuntu
sudo apt update
sudo apt install sysstat
  • CentOS/RHEL
sudo yum install sysstat
  • Fedora
sudo dnf install sysstat

基本语法

iostat [options] [interval] [count]
  • interval:每次报告之间的时间间隔(以秒为单位)

  • count:要显示的报告数量

常用选项

  • -c:仅显示 CPU 统计信息

  • -d:仅显示设备级统计信息

  • -x:显示扩展统计数据,包括详细的 I/O 指标,例如每个设备的平均队列大小和平均服务时间

  • -p:显示设备分区的统计信息。例如,iostat -p sda 将显示 sda 所有分区的统计信息(例如 sda1sda2

  • -t:打印每个报告的时间戳

  • -h:显示带有可用选项的帮助消息

示例用法

显示基本 CPU 和 I/O 统计信息

默认情况下,iostat 将显示所有块设备(例如硬盘、SSD)的 CPU 统计信息和设备 I/O 统计信息。它不会自动刷新,因此只会看到一份报告

iostat

示例输出

Linux 5.4.0-70-generic (hostname)     04/27/2023      _x86_64_        (8 CPU)avg-cpu:  %user   %nice    %system   %iowait  %steal   %idle3.52    0.03     1.30      0.71     0.00    94.44Device            tps    kB_read/s   kB_wrtn/s   kB_read   kB_wrtn
sda              10.58        206.23        98.64   1350224    656928

字段解释

  • CPU stats:显示 CPU 处于不同状态的时间百分比

    • %user:运行用户级进程所花费的时间
    • %nice:运行具有正 nice 值的用户进程所花费的时间
    • %system:运行内核进程所用的时间
    • %iowait:等待 I/O 操作完成所花费的时间
    • %idle:CPU 空闲的时间
  • Device stats:显示每个设备的 I/O 统计信息

    • tps:每秒I/O操作次数
    • kB_read/s:每秒读取的千字节数
    • kB_wrtn/s:每秒写入的千字节数
    • kB_read:读取的总千字节数
    • kB_wrtn:写入的总千字节数
每秒显示 I/O 统计信息,共 5 个报告

每 1 秒刷新一次报告,并在退出前显示总共 5 份报告

iostat 1 5

示例输出

Linux 5.4.0-70-generic (hostname)     04/27/2023      _x86_64_        (8 CPU)avg-cpu:  %user   %nice    %system   %iowait  %steal   %idle3.52    0.03     1.30      0.71     0.00    94.44Device            tps    kB_read/s   kB_wrtn/s   kB_read   kB_wrtn
sda              10.58        206.23        98.64   1350224    656928
...avg-cpu:  %user   %nice    %system   %iowait  %steal   %idle3.51    0.02     1.29      0.70     0.00    94.47Device            tps    kB_read/s   kB_wrtn/s   kB_read   kB_wrtn
sda              10.55        205.12        99.56   1350324    657024
显示特定设备的 CPU 和 I/O 统计信息
iostat -d sda
仅显示 CPU 统计信息
iostat -c

示例输出

Linux 5.4.0-70-generic (hostname)     04/27/2023      _x86_64_        (8 CPU)avg-cpu:  %user   %nice    %system   %iowait  %steal   %idle3.52    0.03     1.30      0.71     0.00    94.44
仅显示 I/O 统计信息
iostat -d
实时监控磁盘 I/O

将每秒显示所有设备的扩展统计信息

iostat -x 1

扩展信息包括的字段示例

  • %util:设备繁忙的时间百分比

  • await:I/O 操作的平均时间(以毫秒为单位)

  • svctm:I/O 操作的平均服务时间

分析一段时间内的磁盘性能

每 5 秒显示一次扩展统计信息,总共显示 3 份报告

iostat -x 5 3
显示特定设备的统计信息
iostat -d sda1 sdb

http://www.ppmy.cn/devtools/156837.html

相关文章

【前端】【面试】【复习详解】【react】react生命周期--函数式全解

在 React Hooks 引入之后,函数式组件可以使用 useEffect 等钩子来模拟类组件生命周期方法的功能。下面详细介绍如何用函数式组件实现类似类组件生命周期的效果。 挂载阶段 模拟 componentDidMount componentDidMount 在类组件中是在组件挂载到 DOM 之后立即调用&…

【漫话机器学习系列】075.隐含层(Hidden Layer)

隐含层(Hidden Layer) 在人工神经网络(ANN)中,隐含层是指输入层和输出层之间的层。它们由多个神经元(或节点)组成,这些神经元负责从输入层接收信号,进行处理后将信号传递…

国土安全保障利器,高速巡飞无人机技术详解

高速巡飞无人机作为国土安全保障的利器,其技术特性和应用价值不可小觑。以下是对高速巡飞无人机技术的详细解析: 一、技术原理与关键组件 高速巡飞无人机的工作原理基于先进的飞行控制系统和制导技术。其核心组件主要包括: 1. 动力系统&…

所遇皆温柔,佛系过生活

目录 “所遇皆温柔,佛系过生活”生活态度所遇皆温柔佛系过生活佛系生活好处如何实践佛系生活佛系生活与消极态度区别 从“体力”“技能”“货物(知识)”“资源”探讨赚钱方式体力阶段技能阶段货物(知识)阶段资源阶段总…

自动驾驶---两轮自行车的自主导航

1 背景 无人驾驶汽车最早出现在DARPA的比赛中,从那个时刻开始,逐渐引起全球学者的注意,于是从上个世纪开始各大高校院所开始了无人汽车的研发。直到这两年,无人驾驶汽车才开始走进寻常百姓家,虽然目前市面上的乘用车还…

Java Web-MyBatis

MyBatis简介 MyBatis 是一个优秀的 Java 持久层框架,它可以帮助开发者将 Java 对象映射到数据库表,并执行 SQL 语句来操作数据库。以下从基础概念、核心组件、使用步骤及代码示例等方面详细介绍: 一、基础概念 MyBatis 允许开发者使用 XML …

04树 + 堆 + 优先队列 + 图(D1_树(D15_哈夫曼树/霍夫曼树))

目录 一、基本介绍 二、哈夫曼树的创建 三、哈夫曼编码 1. 基本介绍 2. 编码原理解析 3. 哈夫曼编码的实现 4. 使用哈夫曼编码实现数据压缩与解压 文件压缩 & 解压 一、基本介绍 给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径…

【C语言】自定义类型讲解

文章目录 一、前言二、结构体2.1 概念2.2 定义2.2.1 通常情况下的定义2.2.2 匿名结构体 2.3 结构体的自引用和嵌套2.4 结构体变量的定义与初始化2.5 结构体的内存对齐2.6 结构体传参2.7 结构体实现位段 三、枚举3.1 概念3.2 定义3.3 枚举的优点3.3.1 提高代码的可读性3.3.2 防止…