获取 Linux 中进程的最大 CPU / RAM 使用率

Getting the max CPU / RAM usage for a process in Linux

在 python 代码中启动进程时,如何在 Linux 中获得最大 CPU / RAM 使用率?

我想计算从流程开始到流程结束

要获取内存,一个非常简单的方法是获取以下内容的输出:

/proc/YOUR_PROGRAM_PID/status

...在 python 过程的开始和结束时捕获它,并提取您关心的内存字段(例如 VmPeak、VmSize)

"Maximum CPU usage" 本质上是没有意义的。在任何时刻,进程要么在一个(或多个)CPU 秒上 运行,要么不是 运行。因此,任何进程的最大 CPU 使用率将始终至少为 100%,因为进程至少有一个瞬间是 运行。以百分比形式显示 CPU 使用情况的工具正在测量进程消耗的 CPU 时间与其年龄的比率。

这可能是一个有用的衡量标准的唯一情况是多线程进程,其中 "maximum CPU usage" 是属于该进程的线程的最大数量,它们同时都是 运行。我不知道有任何具体的衡量方法。