每个进程的磁盘 I/O

每个进程的磁盘 I/O

我想检查哪个进程占用最高的 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

问题是您无权以普通用户身份访问其他用户进程的此信息。

相关内容