帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux 查找占用磁盘IO读写很高的进程方法

Linux 查找占用磁盘IO读写很高的进程方法

2023-08-04 14:29:26 2213

找到 IO 占用高的磁盘

首先安装一下iostat

yum install sysstat

 

通过 iostat -x 1 10 查看了相关磁盘使用信息

image.png

由上图可知,通过观察vda磁盘的 %util【IO】来查看磁盘的io使用率我这里是正常的所以占比很小。该命令可以具体查看是哪一个磁盘读写io高。

 

其他字段说明

 

Device:设备名称

tps:每秒的IO读、写请求数量,多个逻辑请求可以组合成对设备的单个I/O请求。

Blk_read/s (kB_read/s, MB_read/s):从设备读取的数据量,以每秒若干块(千字节、兆字节)表示。块相当于扇区,因此块大小为512字节。

Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):写入设备的数据量,以每秒若干块(千字节、兆字节)表示。块相当于扇区,因此块大小为512字节。

Blk_read (kB_read, MB_read):读取块的总数(千字节、兆字节)。

Blk_wrtn (kB_wrtn, MB_wrtn):写入块的总数(千字节,兆字节)。

 

rrqm/s:每秒合并到设备的读请求数。即delta(rmerge)/s

wrqm/s:每秒合并到设备的写入请求数。即delta(wmerge)/s

r/s:每秒完成的读I/O设备次数。即delta(rio)/s

w/s:每秒完成的写I/0设备次数。即delta(wio)/s

rsec/s (rkB/s, rMB/s):每秒读取设备的扇区数(千字节、兆字节)。每扇区大小为512字节

wsec/s (wkB/s, wMB/s):每秒写入设备的扇区数(千字节、兆字节)。每扇区大小为512字节

 

avgrq-sz:平均每次设备I/O操作的数据量(扇区为单位)。即delta(rsec+wsec)/delta(rio+wio)

avgqu-sz:平均每次发送给设备的I/O队列长度。

await:平均每次IO请求等待时间。(包括等待队列时间和处理时间,毫秒为单位)

r_await:平均每次IO读请求等待时间。(包括等待队列时间和处理时间,毫秒为单位)

w_await:平均每次IO写请求等待时间。(包括等待队列时间和处理时间,毫秒为单位)

svctm:平均每次设备I/O操作的处理时间(毫秒)。警告!不要再相信这个字段值,这个字段将在将来的sysstat版本中删除。

%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。当该值接近100%时,设备饱和发生。

 

找到 IO 占用高的进程

首先安装一下iostat

yum install iotop

通过 iotop  查看进程占用的io信息

image.png

通过这个命令可以看见比较详细信息,如:进程号,磁盘读取量,磁盘写入量,IO百分比


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: