
如果您希望某个程序仅在特定CPU核心上运行,以避免资源争抢或适配单核兼容性需求,则可通过设置CPU亲和性实现。以下是多种可立即执行的操作方法:
一、通过任务管理器设置进程亲和性
CPU亲和性控制决定了操作系统将该进程调度至哪些逻辑处理器上执行,取消勾选部分核心可直接限制其可用计算单元数量,从而降低理论最大占用率。
1、按下Ctrl + Shift + Esc打开任务管理器。
2、点击左下角“更多详细信息”,切换至“详细信息”选项卡。
3、在进程列表中找到目标程序,右键单击该进程。
4、选择“设置相关性…”(注意:中文界面显示为“相关性”,非“亲和性”)。
5、在弹出窗口中,取消勾选不需要使用的CPU核心(例如四核CPU中仅保留CPU 0 和 CPU 1)。
6、点击“确定”保存设置。
二、使用命令行启动时指定亲和性掩码
通过start /affinity命令可在程序启动瞬间绑定其运行的核心范围,适用于批处理脚本或快捷方式,且无需管理员权限即可生效。
1、打开命令提示符或PowerShell窗口。
2、输入以下格式命令启动程序:start /affinity 0x3 notepad.exe(其中0x3为十六进制掩码,对应CPU 0 和 CPU 1)。
3、常见掩码对照:0x1 → 仅CPU 0;0x2 → 仅CPU 1;0x3 → CPU 0+1;0x7 → CPU 0+1+2;0xF → 前4核。
4、如需启动Java程序并限制至前两核,可使用:start /affinity 0x3 java -jar app.jar。
三、使用PowerShell动态修改运行中进程的亲和性
PowerShell提供Set-ProcessAffinity命令,支持对已运行进程实时调整亲和性,适合自动化管理场景,需以管理员身份运行。
1、以管理员身份运行PowerShell。
2、执行命令获取目标进程ID:Get-Process -Name “chrome” | Select-Object Id, ProcessName(将chrome替换为实际程序名)。
3、执行亲和性设定:Set-ProcessAffinity -Id 5678 -ProcessorNumber 0,1(5678为PID,0,1表示仅允许在逻辑处理器0和1上运行)。
4、验证结果:Get-Process -Id 5678 | Select-Object ProcessorAffinity,返回值应为对应掩码(如3代表核心0+1)。
四、使用Process Lasso创建持久化亲和性规则
Process Lasso支持将亲和性设置保存为规则,在程序每次启动时自动应用,避免手动重复操作,且提供图形化界面降低使用门槛。
1、从bitsum.com官网下载并安装Process Lasso(需管理员权限运行)。
2、启动后,在主界面右键目标进程 → “处理器关联性…”。
3、勾选“启用此进程的处理器关联性”,在下方列表中仅勾选需启用的CPU核心。
4、勾选“为此进程创建持久规则”,点击“确定”完成配置。
五、通过系统配置(msconfig)全局限制可用CPU核心数
该方法作用于整个系统层面,强制Windows仅识别并启用指定数量的核心,适用于运行严格依赖单核环境的老程序,但需重启生效且影响所有进程。
1、按下Win + R,输入msconfig,回车打开系统配置工具。
2、切换到“引导”选项卡,点击“高级选项…”。
3、勾选“处理器数”,在下拉菜单中选择目标核心数量(如“1”)。
4、点击“确定”并重启计算机使设置生效。

评论(0)