查询Linux操作系统上进程的所有实例的总CPU使用率
Posted
技术标签:
【中文标题】查询Linux操作系统上进程的所有实例的总CPU使用率【英文标题】:Query total CPU usage of all instances of a process on Linux OS 【发布时间】:2015-08-05 03:02:01 【问题描述】:我有一个 python 服务器,一旦收到请求,它就会自行分叉。 python 服务有几个可以调用的 C++ .so 对象,以及 python 进程本身。
我的问题是,在这些进程中的任何一个进程中,我都希望能够查看该服务器的所有实例当前正在使用多少 CPU。所以假设我有 foo.py,我想看看 foo.py 的所有实例当前使用了多少 CPU。例如,foo.py(1) 使用 200% cpu,foo.py(2) 使用 300%,而 foo.py(3) 使用 50%,id 想达到 550%。
我自己能想到的唯一方法是获取每个进程的 PID 并扫描 /proc 文件系统。在 C/Python/POSIX 中是否有更通用的方法可用于此类操作?
谢谢!
【问题讨论】:
【参考方案1】:这是我能想到的唯一方法。这有点令人困惑,但如果您按照步骤操作就很简单了:
如果我想选择 Google Chrome 进程的总 cpu 使用率:
$ps -e -o pcpu,comm | grep 铬 | awk ' 打印 $1 ' |粘贴-sd+ | bc -l
【讨论】:
谢谢。这几乎就是我期望使用的方法,但那是一条非常简单的线!以上是关于查询Linux操作系统上进程的所有实例的总CPU使用率的主要内容,如果未能解决你的问题,请参考以下文章