如何计算运行特定Python程序所需的CPU、RAM和能量消耗?

3
假设我们想要查找在Python中计算正整数的阶乘时使用了多少能量、CPU和RAM。我使用了下面的代码,但它没有起作用。 MWE:
from __future__ import print_function
import psutil

n=5
fact=1
for i in range(1,n+1):
    fact=fact*i
print fact

print('CPU  % used:', psutil.cpu_percent())
print('physical memory  % used:', psutil.virtual_memory())  # physical memory usage
print('memory % used:', psutil.virtual_memory()[2])

我认为你无法在 Python 程序内部测量所使用的能源。我认为它将无法访问报告计算机能源使用情况的每个传感器。 - Mykhailo Bykhovtsev
@MichaelBykhovtsev 有没有办法这样做? - BSFU
1个回答

1
你想使用psutil.Process(pid=None)。请注意文档中的说明:

如果省略pid,则使用当前进程pid (os.getpid)。

因此,你可以简单地执行以下操作:
import psutil


process = psutil.Process()
memory = process.memory_percent()
cpu = process.cpu_percent()

print(memory, cpu)

以上仅适用于内存和CPU百分比使用情况。我建议进一步阅读文档,以确定您确切需要什么。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接