对于 Linux,获取某个进程及其所有子进程的总 CPU 时间

对于 Linux,获取某个进程及其所有子进程的总 CPU 时间

因此,基本上我的系统上有多个用户,我想确定他们在登录到 shell 并运行不同命令时花费了多少 CPU 时间。我有一个脚本,它知道他们登录的 shell 的 PID。我必须能够定期探测该值,这样我就不能简单地在 time(1) 或类似的东西中运行 shell。

我浏览了 /proc/$pid - 有人知道我可以使用哪个好值(或值的组合)吗?也许有一些内核模块可以做到这一点?

对于我的问题,一个可接受的解决方案是允许查询 init(pid = 1 的进程)并找出整个系统迄今为止使用的总 CPU 时间。

答案1

看看如何使用 cgroups 来限制和控制每个用户到每个 CPU 的活动。完成后,您可以使用 cgroups 统计补丁来生成您正在寻找的信息。

相关内容