2010-05-18 88 views
2

我有一個自定義應用程序,其中有一堆文件打開。我可以看到使用「lsof」的進程打開的文件句柄,我可以使用「watch -d'ls -alh'」看到正在訪問的文件,並觀看mtime/ctime。但是,我希望看到正在讀取/寫入這些文件的數據的速率。 IE:我需要確定是否有一個文件正在以100 Mbps的速度讀取並最大化磁盤。隨後,有幾個正在以1 Mbps寫入的文件?查看特定磁盤的吞吐量並不是很有用,因爲我需要縮小哪個文件正在遭受攻擊。Linux,監視文件的讀取速率

恐怕還有一個問題;理想情況下,我需要確定這一點,而無需安裝任何其他軟件或編寫腳本......僅僅因爲這是「非常生產」系統之一。

有人知道一種方法嗎?非常感謝任何建議。

回答

1

結賬strace。它可以附加到正在運行的進程上,並精確地告訴你它們執行的系統調用以及參數是什麼 - 通過一個小型的解釋器腳本,您可以準確地推斷出您在觀看時正在從哪個文件句柄讀取多少個字節。

+2

沒關係,但我希望能有一個更標準的命令,我很驚訝這不是標準系統實用程序的一部分。 – xconspirisist 2010-05-21 10:37:38