You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多进程占用全部CPU核心却无计算结果,请求排查解决

解决multiprocessing多进程无输出且CPU占满的问题
  • 核心问题:导入模块的语法错误
    你的main.py里的导入语句写错了——Python导入模块时不需要加上.py后缀。错误的写法会导致多进程启动时陷入无限创建子进程的循环,最终占满CPU且无法输出结果。

修正后的代码

preample.py(保持不变)

def function(list):
    return list[0]+list[1]

main.py(修正导入语句)

from preample import *
from multiprocessing import Pool


if __name__ == '__main__':
    parameters = [[1,2],[3,4]]

    # Multiprocessing
    with Pool() as p:
        results = p.map(function, parameters)

    print(results)

原因说明

当你写from preample.py import*时,Python会尝试查找名为preample.py的模块,而非正确的preample模块。在多进程场景下,每个子进程启动时都会重新执行导入逻辑,这种错误导入会引发异常,进而触发子进程的重复创建,最终导致CPU资源被耗尽,主进程也无法正常获取并打印计算结果。

内容的提问来源于stack exchange,提问作者Esteban G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:20:49