CPU 百分比的 运行 过程

CPU percent of running process

我正在尝试获取 python 中外部进程的 CPU 使用百分比。我看过有关此主题的其他一些帖子,但对我的帮助不大。当我 运行 以下函数时,我得到的值与我在 task manager 中看到的不一致。例如,如果我正在监视 chrome 进程,我得到的值在 1 和 2 之间波动,但任务管理器显示的值在 25 和 30 之间波动。有什么建议吗?谢谢。

def monitor(pid):
    cpu_table = []
    p = psutil.Process(pid)
    while p.is_running():
        cpu_table.append(p.get_cpu_percent())
        time.sleep(1)
    return cpu_table
  1. 有几个 chrome 进程,您可能监视了错误的进程
  2. cpu_percent() "compares system CPU times elapsed since last call or module import"。传递任务管理器使用的相同 interval(以防万一,它不是 1 秒)。确保同时启动 monitor() 功能和任务管理器。