本文目录导读:

在 Windows、Linux 和 macOS 系统中,都有相应的工具可以限制进程的 CPU 使用率,以下是针对不同操作系统的推荐工具:
Windows 系统
对于 Windows 用户,最直接和内置的方法是使用 任务管理器 或 Windows 系统资源管理器 (Process Lasso)。
-
任务管理器 (内置) —— 仅能限制“相关性”(仅限多核 CPU)
- 打开任务管理器 (Ctrl + Shift + Esc) -> 详细信息 选项卡。
- 右键点击目标进程 -> 设置相关性。
- 取消勾选部分 CPU 核心(让进程只使用 1 个或 2 个核心,而不是全部核心)。
- 局限性:这只能限制核心数量,无法精确限制 CPU 使用率百分比(例如限制为 50%),如果该进程是单线程的,此方法基本无效。
-
Process Lasso (推荐) —— 专业且功能强大
- 功能:可以精确限制任意进程的最大 CPU 使用率(例如限制为 30%),以及控制进程的 I/O 优先级、内存优先级等。
- 使用:在进程上右键 -> CPU 限制 -> 限制此进程的 CPU 使用率。
- 优点:实时生效,且支持规则自动化,特别适合用于限制后台软件(如浏览器、编译器、杀毒软件)占用 CPU。
Linux 系统
Linux 提供了多种非常精确的控制方式。
-
cpulimit (简单好用)
-
安装:
sudo apt install cpulimit(Debian/Ubuntu) 或类似命令。 -
使用:
# 限制进程PID为1234的占用率为 30% cpulimit -p 1234 -l 30 # 限制进程名为firefox的占用率为 20% cpulimit -e firefox -l 20
-
原理:通过向进程发送 STOP/CONT 信号来实现精准的百分比限制。
-
-
cgroups (系统级、更精细)
- 使用:
systemd-cgls或手动配置 cgroup v2,可以创建组限制 CPU 时间片(例如限制某个组只能使用 50% 的 CPU)。 - 优点:可以限制一组进程(如所有用户进程)的总 CPU 使用,而不是单个进程。
- 使用:
-
nice/renice (调整优先级)
- 这不能直接限制使用率,但可以让进程在 CPU 繁忙时“让路”,从而间接降低在高负载下的占用。
- 命令:
renice -n 10 -p 1234(数值越大,优先级越低)。
macOS 系统
macOS 内核基于 BSD(Unix),主要使用以下工具:
-
cputhrottle (类似 Linux 的 cpulimit)
- 安装:通常通过 Homebrew 安装:
brew install cputhrottle。 - 使用:
# 限制进程PID为5678的CPU使用率为 40% sudo cputhrottle 5678 40
- 安装:通常通过 Homebrew 安装:
-
任务管理器 (活动监视器) 无法直接限制
- macOS 的“活动监视器”只能查看和结束进程,无法直接限制 CPU 使用率。
总结推荐
| 操作系统 | 最佳推荐 | 特点 |
|---|---|---|
| Windows | Process Lasso | 界面友好、功能全面、支持规则自动化。 |
| Linux | cpulimit | 安装简单,命令行操作,对单进程限制非常方便。 |
| macOS | cputhrottle | 需要通过 Homebrew 安装,命令行操作。 |
注意:限制 CPU 使用率的方法通常需要管理员/root 权限,并且对某些计算密集且严重依赖实时响应的进程(如音频/视频处理软件)效果可能不佳,因为操作系统会强迫其“暂停”运行,可能导致进程卡顿或崩溃。
标签: Cpulimit