17

我想每秒使用 /proc 来查找特定进程的资源使用情况。资源包括 cputime、磁盘使用和网络使用。我查看了 /proc/pid/stat ,但不确定是否获得了所需的详细信息。我想要所有 3 种资源使用情况,并且我想每秒监控它们。

4

8 回答 8

7

一些较新的内核有/proc/<pid_of_process>/io文件。这是 IO 统计信息所在的位置。man proc 中没有记录,但您可以尝试自己找出数字。

希望能帮助到你。亚历克斯。

于 2011-07-17T07:19:55.627 回答
1

getrusage()完成cpu、内存和磁盘等。

man 2 getrusage

我不知道网络。

于 2011-07-24T01:50:50.050 回答
1

结帐一瞥

它在一个屏幕上拥有 cpu 磁盘和网络。这不是每个进程,但它比查看 3 个单独的工具要好。

于 2015-12-07T21:55:21.793 回答
0

不要认为有办法在每个进程的基础上获取磁盘和网络信息。

您可以拥有的最好的是全局磁盘和网络,以及每个进程的 CPU 时间。

所有记录在man proc

于 2011-07-09T00:05:58.167 回答
0

解决此类问题的最佳方法是查找执行类似监控和报告的工具的源代码。虽然不能保证他们直接使用 /proc,但他们会引导您找到解决问题的有效方法。对于您的情况,top(1)、iotop(8) 和 nethogs(8) 会浮现在脑海中。

于 2013-04-01T22:55:02.700 回答
0

您可以使用 SAR

-x 报告给定进程的统计信息。

有关更多详细信息,请参见: http ://www.linuxcommand.org/man_pages/sar1.html

示例:sar -u -r -b 1 -X PID | grep -v 平均 | grep -v Linux

于 2014-02-16T08:33:24.670 回答
0

您可以使用top

SYNOPSIS
    top -hv|-bcHiOSs -d delay -n limit -u|U user -p PID -o champ -w [columns]

这是终端中顶部的屏幕截图

于 2021-02-24T16:26:37.933 回答