性能工具-io工具

 

 

I/O:某网上问题通过top  iotop pidstat vmstat 工具定位出io高原因,内存不够。

 

 

 

 

 

 iotop

image

 

image

 

image

 

iostat  -d 1 -x

 

iostat 的两部分核心输出:

  1. CPU 使用率 (avg-cpu)

    • %user: 用户空间程序占用的 CPU 百分比。

    • %system: 内核空间占用的 CPU 百分比。

    • %iowait: CPU 等待 I/O 操作完成的时间百分比。这个值如果很高,通常意味着磁盘太慢,CPU 在“闲等”数据

    • %idle: CPU 完全空闲的时间百分比。

  2. 设备 I/O 统计 (Device)

    • r/sw/s: 每秒的读/写请求次数 (IOPS)。

    • rkB/swkB/s: 每秒读/写的数据量 (吞吐量)。

    • %util (您图中红框标出的重点之一): 设备利用率。这个值表示磁盘在过去一秒内有多忙。如果这个值接近 100%,说明磁盘已经满负荷工作,很可能成为了系统的性能瓶颈。

image

 

磁盘 I/O 指标
Device 下面的一整行都是具体的磁盘 I/O 性能指标,这些指标共同描绘了设备的读写活动。

r/s (Reads per second): 每秒从设备读取的 I/O 请求数。

rkB/s (Read Kilobytes per second): 每秒从设备读取的数据量(单位:KB)。这衡量了读取带宽。

rrqm/s (Read request merge per second): 每秒被合并的读取请求数。合并请求意味着内核将多个小的读取请求合并成一个大的请求,这可以提高效率。

%rrqm: 被合并的读取请求占总读取请求的百分比。

r_await (Read await time): 每个读取请求的平均等待时间(单位:毫秒)。等待时间长意味着请求排队严重。

rareq-sz (Read request average size): 平均每个读取请求的数据大小(单位:KB)。

w/s (Writes per second): 每秒向设备写入的 I/O 请求数。

wkB/s (Write Kilobytes per second): 每秒向设备写入的数据量(单位:KB)。这衡量了写入带宽。

wrqm/s (Write request merge per second): 每秒被合并的写入请求数。

%wrqm: 被合并的写入请求占总写入请求的百分比。

w_await (Write await time): 每个写入请求的平均等待时间(单位:毫秒)。

wareq-sz (Write request average size): 平均每个写入请求的数据大小(单位:KB)。

f/s (Filesystem sync per second): 每秒文件系统同步操作的次数。

f_await (Filesystem sync await time): 文件系统同步操作的平均等待时间(单位:毫秒)。

aqu-sz (Average queue size): I/O 请求在队列中的平均深度。这个值高表明有大量请求在排队,是 I/O 瓶颈的直接证据。

%util (Device utilization): 设备用于处理 I/O 请求的百分比。这个值越接近 100%,设备就越繁忙,当它持续高于 70%-80% 时,通常意味着瓶颈。

 

 

各种设备名称的含义

 

  • sda: 这是你的物理或虚拟主硬盘lsblk 的输出也证实了这一点,它是一块 200 GiB 的“虚拟磁盘”,并且上面有几个分区(如 sda1, sda2, sda3)。sar 的数据显示 dm-0 的所有 I/O 活动最终都落在了这个物理设备上。

  • dm-0 (Device Mapper): 这是一个逻辑设备,由 Linux 内核的 Device Mapper 框架创建。根据你提供的 disk -l 输出,它的完整名称是 /dev/mapper/ubuntu--vg-ubuntu--lv。它是一个使用 **LVM(逻辑卷管理器)**创建的逻辑卷。LVM 允许你将物理磁盘(sda)的空间抽象成更灵活、可调整大小的“虚拟”磁盘,即 dm-0。你看到 dm-0 有更高的 tps(每秒事务数),这是因为应用程序的多次逻辑写入操作可能会被系统合并成一次对物理硬盘 sda 的写入,所以 dm-0 上的操作次数会比 sda 更多。

  • loop0: 这是一个回环设备(loop device)。它允许你将一个普通文件(比如一个 .iso 镜像或 Snap 包)当作一个块设备来挂载。它不是物理硬盘,只是一个软件功能。sar 输出中它的活动为零,说明当前没有使用。

  • sr0: 这通常代表你的光驱(CD-ROM 或 DVD)。sr 前缀代表“SCSI ROM”。即使你的服务器是虚拟机,虚拟化平台也常常会模拟出一个虚拟光驱设备给它。由于没有使用,sar 输出中它的活动也为零。

sar -d  1输出如下

image

 

posted @ 2020-03-23 23:27  codestacklinuxer  阅读(225)  评论(0)    收藏  举报