Python/Windows子进程检查内存消耗



我正在编写一个Python脚本,该脚本将另一个程序作为子进程运行,如

p = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
stdout, stderr = p.communicate()
stdout = str(stdout, "utf-8")
stderr = str(stderr, "utf-8")

我需要检查程序使用了多少时间和内存。时间很容易。记忆力很难。

还有一个问题问了同样的问题,只是没有提到平台,所有的答案都是特定于Unix的,我认为没有跨平台的解决方案。好吧,我在Windows上,所以现在我正在寻找一个(非WSL(特定于Windows的解决方案。

理想的情况是,我可以对允许子进程使用的内存量设置一个严格的限制(这样,如果它试图超过这个限制,就会崩溃(,但我认为现阶段在Windows上没有实际的方法来做到这一点。我会选择一种方法,只报告它最终使用了多少。

Python如何在Windows上检查子进程使用了多少内存?

经过快速搜索,我找到了这个,这就是你要找的吗?

import os
import psutil
process = psutil.Process(os.getpid())
print(process.memory_info().rss)

最新更新