psutils,如何正确计算进程 CPU 利用率
psutils, how to correctly calculate a process CPU utilization
我有以下过程:
PID = 1245
p = psutil.Process(PID)
当我计算这个进程的 cpu
利用率时:
print(p.cpu_percent())
它给出了类似 25%
的东西。虽然整个 CPU 利用率约为 3%
:
print(psutil.cpu_pecent())
怎么会?我怎样才能获得这个特定过程的代表性百分比?
很可能是因为 3% 是所有核心的总使用率,而 25% 是单个核心容量的使用率。您可以随时查看 psutil.cpu_percent()
and psutil.Process.cpu_percent()
的文档以获得对该行为的更深入的解释。
要获得总系统容量的使用情况,您需要将其除以您可以访问的 CPU 数量:
PID = 1245
p = psutil.Process(PID)
tot_load_from_process = p.cpu_percent()/psutil.cpu_count()
print(tot_load_from_process)
print(psutil.cpu_pecent())
我有以下过程:
PID = 1245
p = psutil.Process(PID)
当我计算这个进程的 cpu
利用率时:
print(p.cpu_percent())
它给出了类似 25%
的东西。虽然整个 CPU 利用率约为 3%
:
print(psutil.cpu_pecent())
怎么会?我怎样才能获得这个特定过程的代表性百分比?
很可能是因为 3% 是所有核心的总使用率,而 25% 是单个核心容量的使用率。您可以随时查看 psutil.cpu_percent()
and psutil.Process.cpu_percent()
的文档以获得对该行为的更深入的解释。
要获得总系统容量的使用情况,您需要将其除以您可以访问的 CPU 数量:
PID = 1245
p = psutil.Process(PID)
tot_load_from_process = p.cpu_percent()/psutil.cpu_count()
print(tot_load_from_process)
print(psutil.cpu_pecent())