当我只使用1个核心时,为什么我会看到这么多python进程(在htop
RHEL 6
上)运行相同的脚本?
对于每个任务,我初始化一个管理处理的工人类。它确实初始化其他类,但不是任何子进程:
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()
注意,atop
显示预期的进程数(在这种情况下,父进程为2:1,子进程为1)。 %MEM通常总计超过100%,所以我收集到了,我误解了多处理或htop如何工作。
答案 0 :(得分:0)
我相信你看到你的应用程序主pid中的Multiprocessing模块会旋转出辅助线程。这些是您明确旋转的线程/进程的补充。