Io

如何讀取任何程序’ /proc/pid/io

  • December 19, 2014

我正在嘗試監視每個程序的磁碟活動。我發現如何做到這一點的一種方法是讀取 /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.

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