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

如何在64核以上Windows系统外部设置进程CPU核心亲和性?

适用于大核心数Windows系统的外部进程亲和性管理方案

一、Windows内置命令行工具

1. wmic命令

可以直接针对跨CPU组的进程设置亲和性,语法如下:

wmic process where processid=<目标进程PID> set affinity="<多组亲和性字符串>"

比如128核系统中,可指定0xFFFFFFFFFFFFFFFF,0xFFFFFFFFFFFFFFFF作为亲和性字符串(对应两个CPU组的全核心)。该命令会自动将设置应用到进程的所有现有线程,且新建线程会默认继承进程的亲和性,无需额外操作。

2. PowerShell Set-Process cmdlet

Windows 10 1809及之后版本支持,可直接设置多CPU组的进程亲和性:

Set-Process -Id <目标进程PID> -Affinity <64位掩码数组>

示例:Set-Process -Id 1234 -Affinity 0xFFFFFFFF,0xFFFFFFFF,同样会覆盖所有现有线程,新线程自动继承设置。

二、Sysinternals可视化工具:Process Explorer

操作流程:打开Process Explorer,找到目标进程右键选择Set Affinity,在弹出窗口中可直接勾选64核以上的CPU(界面会按CPU组拆分显示),确认后设置立即生效。

  • 该工具修改的是进程的默认亲和性,后续新建线程会自动继承此设置,无需重复配置。

三、自定义工具的底层API方案

若需自行开发工具,可调用Windows的SetProcessGroupAffinity函数(Windows 10及以上系统支持),它专门用于处理多CPU组的进程亲和性设置,相比旧版SetProcessAffinityMask支持多组掩码。调用后:

  • 进程内所有现有线程的亲和性会自动同步更新
  • 后续新建线程会默认继承进程的亲和性,无需逐个调用SetThreadGroupAffinity

核心原理:进程亲和性的继承机制

所有上述方案的核心都是修改进程的默认亲和性。Windows线程创建逻辑中,新线程会自动继承所属进程的当前亲和性设置,因此只要完成进程层面的配置,就能同时覆盖现有线程和未来新建的线程,无需逐个处理线程。

内容的提问来源于stack exchange,提问作者Alew

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 09:48:13