Monitoring

如何列出最消耗 IO 的文件?

  • October 27, 2011

我的文件管理軟體正在執行大量 IO,我想知道它訪問的文件最多。

是否有一個 Linux 工具可以每隔幾秒鐘給我一個最常用的 IO 消耗文件列表,比如 iotop 但對於文件?

這可能看起來像:

$ thetool
THRPUT   R/W/SWP FILE
40MB/s   write   /usr/alfresco/repo/1283421/1324928.doc
12MB/s   read    /usr/alfresco/cache/3928dh29f8if
11MB/s   read    /tmp/239398hf2f024f472.tmp

我查看了 , 的手冊頁,iotop它們似乎沒有提供這樣的功能。lsof``strace

我認為您的“字節數”指標是錯誤的。考慮兩個訪問。一個從文件中讀取 10MB。另一個讀取前 10MB 文件的每 512 個字節。第一次訪問的“字節數”將是第二次訪問的 512 倍。然而,它們都會對 I/O 子系統施加完全相同的負載。

如果您可以接受與“字節數”一樣好或一樣壞的“操作數”,那麼您就可以實際測量一些東西。該inotifywatch程序會執行此操作,並且它可能是您的發行版inotify-tools軟體包的一部分。

它會立即告訴您哪些文件包含大部分訪問權限,並且可能會幫助您解決實際問題。

引用自:https://unix.stackexchange.com/questions/23374