可通过powershell作业模拟、组策略全局限制或process lasso单进程精准限频三种方式限制程序cpu占比;其中组策略仅限专业版且作用于所有进程,process lasso最灵活易用。

如果您希望限制某个程序在运行时最多只能占用指定比例的CPU总计算能力,防止它独占资源拖慢系统响应,就需要设置其最大处理器占比。Windows本身不提供图形界面直接设置百分比配额,但可通过PowerShell作业控制、第三方工具或组策略实现精确限制。
使用PowerShell创建CPU配额作业(推荐)
该方法适用于Windows 10/11专业版及以上系统,无需安装额外软件,通过启动一个受控作业来包裹目标进程,强制其CPU使用率不超过设定阈值。
第一步:以管理员身份打开PowerShell。
第二步:执行以下命令(将notepad.exe替换为目标程序名,50代表50%上限):
Start-Process -FilePath "notepad.exe" -WorkingDirectory "$env:USERPROFILE" -WindowStyle Hidden; $job = Start-Job -ScriptBlock { param($proc) while ($proc.Responding) { Start-Sleep -Milliseconds 10 } } -ArgumentList (Get-Process -Name "notepad") -InitializationScript { Add-Type -AssemblyName System.Management }; $job | Wait-Job -Timeout 30
第三步:真正起作用的是后续的CPU绑定与调度干预——需配合Set-ProcessAffinity模块或使用Set-ProcessMitigation启用CPU速率限制。但注意:【原生PowerShell无直接“%CPU上限”参数,必须借助Job + 循环休眠+优先级降级组合模拟】。实际效果取决于进程是否频繁主动让出时间片,对死循环型程序效果有限。
通过组策略启用CPU带宽限制(仅限专业版/企业版)
这是Windows唯一原生支持的硬性CPU占比限制机制,底层调用内核级节流策略,对所有进程类型均有效。
1、按 Win + R 输入 gpedit.msc 回车,打开本地组策略编辑器。
2、依次展开:计算机配置 → 管理模板 → 系统 → 调度器。
3、双击“限制可分配给任何单一进程的最大处理器时间”,设为“已启用”,并在下方“最大处理器时间百分比”中输入数值(如60表示60%)。
4、点击“确定”保存,该策略将全局生效——所有新启动的进程都受此上限约束。
注意:此设置【不区分具体程序,而是统一应用到每个独立进程】;若只想限制某一个应用,必须先确保其他程序未触发该限制逻辑,否则会误伤。
使用Process Lasso设置单进程CPU限制
这是最精准、最易用的方案,支持按进程名实时设置CPU使用率上限,且无需重启或修改系统策略。
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
方法一:临时限制(运行中进程)
1、下载安装Process Lasso(官网:bitsum.com),启动后确保系统托盘图标出现。
2、在主界面进程列表中右键目标程序(如chrome.exe),选择“CPU限制”→“设置CPU使用率限制”。
3、输入具体百分比(例如35),勾选“启用此限制”,点击确定。
方法二:永久规则(自动应用)
1、点击菜单栏“配置”→“高级选项”→“进程规则”。
2、点击“添加规则”,在“进程名称”栏填入目标exe名(支持通配符,如*obs*.exe)。
3、在“CPU限制”选项卡中启用“强制CPU使用率限制”,输入数值并保存。
Process Lasso会在该程序每次启动时自动注入限制策略,且兼容所有Windows版本,包括家庭版。
验证限制是否生效
1、启动目标程序后,立即打开任务管理器(Ctrl+Shift+Esc)。
2、切换到“性能”选项卡,观察“CPU”图表右侧的“最大频率”下方是否显示当前限制值(部分版本显示为“节流中”)。
3、更准确的方式是:在“详细信息”页右键列标题→“选择列”→勾选“CPU使用率历史记录”,查看该进程的实时波动是否被压平在设定阈值附近。










