簡體   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