限制进程的 CPU 使用率,常见做法有操作系统级限制和程序内控制两类,下面按使用场景给你总结。
cpulimit(最简单,按百分比限制)cpulimit -p 1234 -l 30
-p:进程 PID-l:限制为 CPU 的 30%--exe 使用✅ 适合临时限速
❌ 进程重启后失效
nice / renice(降低优先级)nice -n 19 ./program
renice -n 19 -p 1234
cgroups(最正统、可持久)cgcreate -g cpu:/mygroup
echo 30000 > /sys/fs/cgroup/cpu/mygroup/cpu.cfs_quota_us
echo 100000 > /sys/fs/cgroup/cpu/mygroup/cpu.cfs_period_us
cgclassify -g cpu:/mygroup 1234
[Service]
CPUQuota=30%
systemctl daemon-reload
systemctl restart myservice
✅ 生产推荐
docker run --cpus="0.5" myimage
或
docker run --cpu-quota=50000 --cpu-period=100000 myimage
sleep| 场景 | 推荐 |
|---|---|
| 临时限速 | cpulimit |
| 系统服务 | systemd / cgroup |
| 容器 | Docker CPU 限制 |
| 开发控制 | 代码限流 |
如果你告诉我系统(Linux/Windows)、是否是服务、是否容器,我可以给你更精确命令。