Python/Windows 子进程检查内存消耗
Python/Windows subprocess check memory consumption
我正在编写一个 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-specific,由此我认为没有跨平台的解决方案。好的,我在 Windows,所以现在我正在寻找(非 WSL)Windows 特定的解决方案。
理想的情况是我可以对允许子进程使用的内存量设置一个硬限制(这样如果它试图超过它就会崩溃),但我认为在这个阶段没有在 Windows 上做到这一点的实用方法。我会选择一种方法来报告它最终使用了多少。
Python 如何在 Windows 上检查子进程使用了多少内存?
经过快速搜索,我找到了这个,这是您要找的吗?
import os
import psutil
process = psutil.Process(os.getpid())
print(process.memory_info().rss)
我正在编写一个 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-specific,由此我认为没有跨平台的解决方案。好的,我在 Windows,所以现在我正在寻找(非 WSL)Windows 特定的解决方案。
理想的情况是我可以对允许子进程使用的内存量设置一个硬限制(这样如果它试图超过它就会崩溃),但我认为在这个阶段没有在 Windows 上做到这一点的实用方法。我会选择一种方法来报告它最终使用了多少。
Python 如何在 Windows 上检查子进程使用了多少内存?
经过快速搜索,我找到了这个,这是您要找的吗?
import os
import psutil
process = psutil.Process(os.getpid())
print(process.memory_info().rss)