Wil*_*ill 8 python memory parallel-processing fork process
如何找到Python进程及其所有分叉子进程使用的驻留内存总量?
我知道我可以使用psutil,例如,查找当前进程使用的可用物理内存的百分比,如下所示:
import os
import psutil
current_process = psutil.Process(os.getpid())
mem = current_process.memory_percent()
Run Code Online (Sandbox Code Playgroud)
但我正在寻找进程及其子进程使用的总内存,如果有的话.
Tob*_*arg 10
您可以使用psutil.Process.children()(或psutil.Process.get_children()旧的psutil版本)的结果来获取所有子进程并迭代它们.
它可能看起来像:
import os
import psutil
current_process = psutil.Process(os.getpid())
mem = current_process.memory_percent()
for child in current_process.children(recursive=True):
mem += child.memory_percent()
Run Code Online (Sandbox Code Playgroud)
这将总计来自主进程的子进程的子进程(子进程)和子进程()的子进程的百分比recursive=True.您可以在当前的psutil文档或旧文档中找到此功能.
如果你使用比2更旧的psutil版本,你必须使用get_children()而不是children().