Io
如何讀取任何程序’ /proc/pid/io
我正在嘗試監視每個程序的磁碟活動。我發現如何做到這一點的一種方法是讀取 /proc/pid/io 文件並將欄位與先前讀取的欄位進行比較。除了我的監控程序似乎只能讀取一些 io 文件(例如它沒有讀取 apache 的權限)之外,這很好用。如何讀取別人的io?還有可能有更好的方法來實現這個目標?
編輯顯然我可以以root身份執行該過程,但我想避免這種情況
使用
iotop
.它應該在您的 Redhat/Centos/Fedora 機器的儲存庫中可用(如果尚未安裝)。
它輸出與 類似的資訊
top
,但您將獲得 IO 統計資訊(磁碟讀取、寫入和交換),而不是 CPU/記憶體統計資訊。選項
-p
,-u
並且--only
您可能會感興趣。例如,要查看 ID 為 5435 的程序的 IO 活動,請使用:
iotop -p 5435
從
man
頁面:-p PID, --pid=PID A list of processes/threads to monitor (all by default). -u USER, --user=USER A list of users to monitor (all by default) -P, --processes Only show processes. Normally iotop shows all threads.