![](/img/trans.png)
[英]How to measure cpu usage (as a percentage) of a single code line in Python?
[英]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.