Process

每個程序的磁碟 I/O

  • January 10, 2018

我想檢查哪個程序佔用最高的 I/O。確切地說,我想檢查哪個程序執行最高寫入操作以及多少。

我知道有一些工具,例如iotop. 但是由於我必須在沒有 sudo 和特權非常有限的外國環境的情況下工作,我想知道如何使用內置工具(如ps. 我想要類似下面的東西來查找 CPU/記憶體使用情況,

$ps -eo pid,command,%cpu,%mem --sort=-%cpu

更新:在嘗試了幾種方法後,我發現/proc/[pid]/io由於缺乏特權而無法讀取文件,所以我猜如果沒有適當的特權就無法獲得 I/O。

$cd /proc/; for i in $(ls | egrep -o ^\[0-9\]*); do cat $i/io; done
cat: 1/io: Permission denied
cat: 10/io: Permission denied
cat: 10284/io: Permission denied
cat: 11/io: Permission denied
cat: 1174/io: Permission denied
cat: 12/io: Permission denied
........

問題是您無法以普通使用者身份訪問其他使用者程序的此資訊。

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