为什么我看到这么多 python 进程在运行(在htop
on RHEL 6
)当我只使用 1 个核心时,对于相同的脚本?
对于每个任务,我都会初始化一个管理处理的工作类。它会初始化其他类,但不会初始化任何子进程:
tasks = multiprocessing.JoinableQueue()
results = multiprocessing.Queue()
num_consumers = 1
consumers = [Consumer(tasks, results) for i in xrange(num_consumers)]
for i, consumer in enumerate(consumers):
logger.debug('Starting consumer %s (%i/%i)' % (consumer.name, i + 1, num_consumers))
consumer.start()
Note, atop
显示预期的进程数(在本例中为 2:父进程 1 个,子进程 1 个)。 %MEM 加起来通常远远超过 100%,所以我认为我误解了多处理或 htop 的工作原理。
我相信您会看到应用程序主 pid 中的多处理模块启动了辅助线程。这些是您显式启动的线程/进程的补充。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)