
如果您希望某个程序仅在特定的CPU核心上运行,以优化性能、隔离资源或进行调试,则需要手动设置该进程的CPU亲和性。以下是实现此目标的具体步骤:
一、通过任务管理器设置CPU亲和性
任务管理器提供图形化界面,可快速为正在运行的进程指定可用的逻辑处理器。该方法适用于临时调整,且无需额外工具。
1、按 Ctrl + Shift + Esc 打开任务管理器。
2、切换到 “详细信息” 选项卡。
3、右键点击目标进程,在弹出菜单中选择 “设置相关性…”。
4、在弹出窗口中取消勾选不需要使用的CPU核心,仅保留希望该程序运行的逻辑处理器。
5、点击 “确定” 应用设置。
二、使用Windows PowerShell命令设置亲和性
PowerShell支持通过Get-Process与Set-ProcessAffinity命令(需配合第三方模块)或原生命令Start-Process配合-ProcessorAffinity参数启动新进程。此处采用原生方式启动并限定核心。
1、打开PowerShell(以管理员身份运行)。
2、执行以下命令启动指定程序并绑定到第0号和第1号逻辑处理器(核心索引从0开始):
Start-Process notepad.exe -ProcessorAffinity 0x3
3、其中 0x3 是十六进制掩码,对应二进制 0011,表示启用前两个逻辑处理器(CPU 0 和 CPU 1)。
4、如需绑定至CPU 2和CPU 3,则使用掩码 0xC(二进制 1100)。
三、使用命令行工具Process Explorer设置亲和性
Process Explorer是微软官方提供的高级进程查看器,支持实时修改任意进程的CPU亲和性,功能比任务管理器更灵活。
1、从微软官网下载并运行 Process Explorer(无需安装)。
2、在进程树中找到目标程序,右键点击其进程项。
3、选择 “Set Affinity…”。
4、在弹出对话框中勾选期望使用的CPU核心,取消其余选项。
5、点击 “OK” 立即生效。
四、通过Windows系统配置工具(msconfig)限制启动时的CPU使用
msconfig中的“引导”选项卡允许设置系统级启动参数,包括/NUMPROC开关,可用于限制Windows启动时可用的处理器数量,从而间接影响所有进程的可用核心范围。
1、按 Win + R 输入 msconfig 并回车。
2、切换到 “引导” 选项卡,点击 “高级选项…”。
3、勾选 “处理器个数”,并在下拉菜单中选择所需的核心数量(例如2)。
4、点击 “确定” 后重启系统。
5、重启后,整个系统将仅识别所选数量的逻辑处理器,所有进程默认受限于此范围。
五、编写批处理脚本结合start命令与affinity参数
Windows内置的start命令支持/affinity参数,可直接在CMD中启动程序并指定CPU掩码,适合自动化部署或快捷方式集成。
1、新建文本文件,输入以下内容:
start /affinity 5 notepad.exe
2、其中 5 是十进制掩码,对应二进制 0101,表示启用CPU 0 和 CPU 2。
3、将文件保存为 run_on_cores_0_and_2.bat。
4、双击运行该批处理文件,记事本将在指定核心上启动。

评论(0)