繁体   English   中英

如何测量python中进程的平均CPU使用率

[英]How to measure the average CPU usage by a process in python

我想测量python中一个进程的平均CPU使用率。 使用psutil我只能在给定时间获得 CPU 消耗。

我决定做的是:


import psutil
import time

start = time.time()
end = time.time()

samples = []

while end - start < 2:
    for proc in psutil.process_iter():
        if proc.name() == "myprocess":
            samples.append(proc.cpu_percent())
            break
    end = time.time()

print("Average: " + str(sum(samples)/len(samples)))

但是结果不准确,因为有时我的进程正在休眠(不使用 CPU),所以我在samples列表中得到了很多0

是不是有一个内置函数可以让我测量我的进程的 CPU 平均消耗

假设您找到了您的进程名称和进程 ID,您可以调用cpu_percent(interval=1))函数并传递您想要在此处监视该进程的时间间隔 1 = 1sec

import psutil

#PID=3124320
#to get pid use os.getpid()
my_process = psutil.Process(3124320)

print("CPU%:", my_process.cpu_percent(interval=1))
#CPU%: 11.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM