我正在尝试监视每个进程的磁盘活动。我发现如何执行此操作的一种方法是读取 /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.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2412 次 |
最近记录: |