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

61次阅读
没有评论

共计 1533 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 Linux 如何查找占用磁盘 IO 读写很高的进程方法的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

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

相关截图如下:

1 #  如果没有  iostat  命令,那么使用  yum install sysstat  进行安装
2 # iostat -x 1 10

由上图可知,vdb 磁盘的 %util【IO】几乎都在 100%,原因是频繁的读取数据造成的。

其他字段说明

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 占用高的进程

通过 iotop 
命令

如果没有该命令,请通过 yum install iotop 进行安装。

# iotop -oP

通过这个命令可以看见比较详细信息,如:进程号,磁盘读取量,磁盘写入量,IO 百分比,涉及到的命令是什么「两个都是 grep 命令造成的 IO 读取量大」。

通过 pidstat 命令

1 #  命令的含义:展示 I / O 统计,每秒更新一次
2 # pidstat -d 1

可见其中 grep 命令占用了大量的读 IO,之后可根据 PID 查看相关进程信息。

说明:本图与上图的 PID 不同,原因是上图涉及的进程执行完了,本图是之后执行产生的进程【都执行的同一个
脚本】。

感谢各位的阅读!关于“Linux 如何查找占用磁盘 IO 读写很高的进程方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计1533字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)