CPU运行过程的百分比

时间:2015-03-27 00:28:48

标签: python subprocess cpu-usage psutil

我正在尝试在CPU中获取外部流程的python使用百分比。我在这个主题上看过其他一些帖子,但对我没有太多帮助。当我运行以下函数时,我得到的值与我在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 个答案:

答案 0 :(得分:2)

  1. 有几个chrome进程,您可能正在监视错误的进程
  2. cpu_percent() "compares system CPU times elapsed since last call or module import"。传递任务管理器使用的interval(如果不是1秒)。确保同时启动monitor()功能和任务管理器。