首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核的iotop 2.6.18

Linux内核的iotop 2.6.18
EN

Server Fault用户
提问于 2011-08-03 12:43:37
回答 1查看 1.3K关注 0票数 1

因此,我必须注意到,iotop不适用于2.6.18,因为它小于2.6.20,并且需要Python。我做了一些研究,并看到了这篇文章:http://lserinol.blogspot.com/2009/09/io-usage-per-process-on-linux.html

根据这一点,如果这些进程在/proc/ pid# /io (其中pid#是进程#)中有io统计数据,那么无论内核版本如何,它都是可行的。因此,实际上,我可以将Python升级到2.6并测试iotop。然而,我喜欢的Linux5.5版本( CentOS Version5.5 (Final) )目前只支持Python2.4.3-44.el5。如果我要从百胜卸载,它看起来不那么漂亮。它最终想要卸载235个软件包,其中大多数是非常重要的!

我在网上看到一个地方(我忘记了昨天的URL ),您可以安装Python与这个2.6+并行,并让rpm安装用于iotop。我没有选择那条路线。

我想,到底是什么原因,让我们在bash中编写iotop (不是复制它,而是在没有实际查看它的代码/正在使用的情况下进行反向工程)。我以为它只会抓取/proc/pid#/io文件并解析统计数据。

因此,我编写了一个脚本,通过从所有/proc/pid#/io文件中收集所有这些统计数据来获取前10个rchar、wchar、read_bytes和write_bytes,并按每个度量对它们进行排序,然后获取前10个最高值。

结论是,这些数据似乎完全无用。

有谁知道高级Linux的任何资源吗?在这里,我可以找到如何获取这些/proc/pid#/目录,并弄清楚他们在磁盘上对io做什么?

我的主要目标是找出到底是什么导致了我的磁盘上的高负载。我只知道它在/分区上(在本例中是/dev/sda2 2),而且我不太确定如何在没有iotop的帮助下缩小它。如果我运行iostat来获取1分钟的指标,每秒钟,它给我的第一个结果显示了一个很高的'kB_read/s',这让我想到,它主要是阅读。然而,如果我每秒钟看一次它给我的更新,它实际上只是显示kB_wrtn/s的值,这让我觉得iostat给我的初始值是误导的。

EN

回答 1

Server Fault用户

发布于 2011-08-03 12:50:46

也许blktrace包可以用于CentOS 5.5?btrace命令为I/O子系统提供了非常详细的视图。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/297082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档