我想检查哪个进程占用最高的 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
........
答案1
问题是您无权以普通用户身份访问其他用户进程的此信息。