Linux 磁盘 I/O 工具

iostat

iostat 为用于查看磁盘输入输出的性能监控工具

复制代码
iostat [ options ] [ <interval> [ <count> ] ]

参数说明:

复制代码
options 取值如下:

-C:显示 CPU 使用情况。
-d:显示磁盘使用情况。
-k:以 KB 为单位显示。
-m:以 M 为单位显示。
-N:显示磁盘阵列(LVM) 信息。
-n:显示 NFS 使用情况。
-p[磁盘名称]:显示磁盘和分区的情况。
-t:显示终端和 CPU 的信息。
-x:显示详细信息。

interval:输出刷新的间隔时间。
count:输出的次数。

通过 iostat -x 1 3命令查看磁盘输入输出的详细信息。示例如下:

输出3次,间隔1秒

复制代码
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.22    0.00    1.30    0.02    0.00   97.46
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     0.81    0.06    0.97     2.59     8.43    21.34     0.00    0.82    3.81    0.64   0.09   0.01

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.00    0.00    2.00    0.00    0.00   96.00
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     6.00    1.00    2.00     8.00    32.00    26.67     0.00    0.33    0.00    0.50   0.33   0.10

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.02    0.00    1.02    0.00    0.00   97.96
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     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

字段说明:

  • avg-cpu:

    • %user:CPU 在用户态下的时间百分比。
    • %nice:CPU 在带 Nice 值的用户态下的时间百分比。
    • %system:CPU 在内核态下的时间百分比。
    • %iowait:CPU 等待 I/O 时间的百分比。
    • %steal:管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比。
    • %idle:CPU 空闲时间百分比。
  • Device:磁盘名字。

  • rrqm/s: 每秒合并的读操作数量。

  • wrqm/s: 每秒合并的写操作数量。

  • r/s: 每秒读 I/O 次数。

  • w/s: 每秒写 I/O 次数。

  • rsec/s: 每秒读扇区数。

  • wsec/s: 每秒写扇区数。

  • rkB/s: 每秒读 K 字节数。

  • wkB/s: 每秒写 K 字节数。

  • avgrq-sz: 平均每次 I/O 的数据大小。

  • avgqu-sz: 平均 I/O 队列长度。

  • await: 平均 I/O 操作的等待时间 (毫秒)。

  • svctm: 平均 I/O 操作的服务时间 (毫秒)。

  • %util: I/O 占用的 CPU 利用率。

说明:

%util 表示磁盘的 I/O 使用情况,如果很高,则通常表明 I/O 有可能成为瓶颈。

await = 平均 I/O 操作的服务时间 + I/O 等待时间,所以如果 await 远大于 svctm,则说明 I/O 等待时间较长,I/O 队列较大。

相关推荐
方渐鸿1 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
我爱云计算1 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
明明跟你说过1 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
2301_794333913 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
打码人的日常分享4 小时前
运维服务方案,运维巡检方案,运维安全保障方案文件
大数据·运维·安全·word·安全架构
荣光波比4 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
武文斌775 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
fengfuyao9855 小时前
诊断并修复SSH连接Github时遇到的“connection closed“错误
运维·ssh·github
scugxl5 小时前
centos7 docker离线安装
运维·docker·容器
绿箭柠檬茶7 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu