UNIX上的CPU利用率

1 投票
3 回答
553 浏览
提问于 2025-04-17 02:35

我正在尝试用Python或Shell来计算某个特定进程使用的CPU百分比,但到现在为止还没有找到办法。

我看了很多相关的问题,但都没有帮助我。有没有什么建议呢?

3 个回答

0

你可以试试用 top 命令加上 "-b -n 1",这样可以获取它的内容。然后你可以用 cut 或其他工具来提取你需要的信息。

注意:你可以加上 -p 选项,这样可以限制只查看特定的进程ID。

3
$ ps o "pid cp"
  PID  CP
 1609   0
 1813   0
 1851   0
 1885   0
 1896   0
 3164   0
21679   0
24019   2

如果你想找的进程可能不是以同一个用户在运行,你可以使用 ps -eo "pid cp" 这个命令来显示系统上所有的进程,而不仅仅是默认的自己拥有的进程。

如果你知道一个特定的进程ID,你可以直接这样做:

$ ps -p 24019 -o "cp" --no-heading
  2

这里的 24019 是你想要查找的进程ID,得到的结果是一个3个字符的字符串(右对齐,可能是3位数的数字)。

1

从命令行中,可以使用带有cp输出格式的ps命令:

ps -p <pid> -o cp

在Python中,可以查看 psutil.Process.get_cpu_percent() 这个方法。

撰写回答