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

Windows 11环境下Python多进程无法在双CPU节点间稳定均衡分配的问题求助

Windows 11环境下Python多进程无法在双CPU节点间稳定均衡分配的问题求助

各位大佬好,我最近碰到一个非常头疼的多进程调度问题,想请教下有没有可行的解决方案:

我目前用Python的concurrent.futures.ProcessPoolExecutor来并行执行多个DRL训练任务,新换的工作站配置是双CPU,每颗CPU有28个物理核心、56个逻辑核心。但实际运行时出现了一系列异常状况:

  • 进程一开始还能在两个CPU节点间均衡分配,但运行几个小时后,所有进程都会集中跑到第一颗CPU上,导致这颗CPU过热,整体执行速度大幅下降
  • 尝试过手动在任务管理器的「详细信息」页修改进程的CPU亲和性,但完全没有效果
  • 试过用psutil在进程启动时设置亲和性,同样无效;而且只要把亲和性设置到第二颗CPU的核心上,就会抛出OSError: [WinError 87] Wrong Parameter错误——但psutil.get_cpucount()明明能识别出所有核心
  • 更奇怪的是,任务管理器「详细信息」页显示所有Python进程都在CPU核心1(偶尔会到2、3),但「性能」页却显示第一NUMA节点的多个核心都在被使用,这明显矛盾

我用的是Windows 11系统,之前了解到Win11应该已经取消了最多64个处理器的处理器组限制,但还是遇到了这个问题。有没有大佬遇到过类似情况,或者知道怎么让进程稳定地在两个CPU节点间分配?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 08:34:32