linux – 确定哪个进程导致重磁盘IO?

linux – 确定哪个进程导致重磁盘IO?,第1张

概述我见过这个问题:    How to identify heavy write to disk? 我之前使用过dstat和atop ……但他们似乎并没有确定哪个进程导致磁盘I / O.例如,来自dstat: dstat -ta --top-bio----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- - 我见过这个问题:
How to identify heavy write to disk?

我之前使用过dstat和atop ……但他们似乎并没有确定哪个进程导致磁盘I / O.例如,来自dstat:

dstat -ta --top-bio----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- ----most-expensive----     time     |usr sys IDl wai hiq siq| read  writ| recv  send|  in   out | int   csw |  block I/O process14-12 16:16:25| 22   3  49  26   0   0|2324k    0 |  17k 6144B|   0     0 |1324     0 |14-12 16:16:26| 24   3  30  43   0   0|4960k 8192B|1498B 4322B|   0     0 |1494     0 |wget          0  4096B14-12 16:16:27| 25   4  38  33   0   0|4612k  548k|5011B   27k|   0     0 |1582     0 |kjournald     0    24k14-12 16:16:28| 23   3  42  32   0   0|5072k    0 |  24k 4368B|   0     0 |1495     0 |

请注意dsk / total的高度 – 介于2到5 MB /秒之间.但是看看“最昂贵的”专栏 – 这里只有几个字节,有几个KB,有时甚至没有.这与’atop’是一回事.显示整体磁盘使用率较高,但各个进程的使用率较低.我正在运行CentOS 5,内核2.6.18-53.

我需要更新的内核版本吗?也许某些系统配置设置在某处? ‘atop’主页建议安装一些内核补丁,但我宁愿不经历配置和安装的麻烦.编译我自己的内核.

解决方法 iotop( link)为首发;)我没有看到你发布它的输出.

1:我遇到了与日志文件系统和atime几乎相同的情况 – 但是有更多的写入.

尝试使用noatime重新安装并关闭文件系统日志记录(稍后仅用于测试),以便查看它是否基于文件系统,如果它是基于进程的iotop.

2:我猜这个分区不是刚刚重建的raID阵列的一部分,是吗?

3:如果你有很多非常小的文件(比实际的块设备块大小和/或文件系统块大很小),并且你正在读取这些小文件,你最终会从系统中读取整个块,并且大多数这些街区将被无形阅读.

4:如果上面没有任何帮助,您可以随时获取通过执行访问的文件列表

echo 1 > /proc/sys/vm/block_dump

请注意,它会大大降低系统性能.有关说明,请参阅我的previous post here

总结

以上是内存溢出为你收集整理的linux – 确定哪个进程导致重磁盘I / O?全部内容,希望文章能够帮你解决linux – 确定哪个进程导致重磁盘I / O?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存