Hard-Drive
在 CentOS 5 中,如何判斷哪些程序正在大量寫入磁碟?
我們的伺服器開始變慢,所以我在它上面執行了 iostat。
iostat -dx 5
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 89.60 108.40 5.60 880.00 763.20 14.41 2.61 22.87 8.70 99.20 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
所以我看到一個磁碟sda完全飽和了。如何找到導致此問題的確切過程?(或者它正在交換到那個磁碟?)
我也喜歡iotop
collectl可能是你所追求的。除其他外, 按程序的 I/O 統計資訊。
collectl --top io
列印按 IO 使用情況排序的 top-like 列表,collectl -sZ
用於程序子系統的 collectl 本機輸出。添加--procopts t
開關也會顯示執行緒。正如 Richard Salts 所提到的,IOTop 將為您提供一個包含更詳細 I/O 統計資訊的 UI,如果您有一個視窗管理器和 Python,那麼請使用它。但是,在任何一種情況下,如果您的核心不支持它(
2.6.20
或者以後是安全的賭注),那麼這兩個程序都不會工作。