在 Linux 中,主要通过 cgroups(控制组) 限制进程的 CPU、内存和网络资源。现代系统用 cgroups v2(推荐),旧系统用 v1。
方法(以 cgroups v2 为例):
创建控制组
sudo mkdir /sys/fs/cgroup/mylimit
限制 CPU(例如最多用 1 个核心的 50%)
echo "50000 100000" | sudo tee /sys/fs/cgroup/mylimit/cpu.max # 格式:quota period(单位微秒),50000/100000 = 0.5 核
限制内存(例如最多 512MB)
echo "536870912" | sudo tee /sys/fs/cgroup/mylimit/memory.max # 单位字节,512MB = 512 * 1024²
限制网络(间接)cgroups 不能直接限速网络,但可通过 tc(流量控制)+ cgroup classid 实现。更简单方式:用 systemd 或容器工具。
把进程加入控制组
echo $PID | sudo tee /sys/fs/cgroup/mylimit/cgroup.procs
更简单的方式:
用 systemd(自动管理 cgroups):
systemd-run --scope -p CPUQuota=50% -p MemoryMax=512M your-command
用容器(如 Podman/Docker):
podman run -m 512m --cpus=0.5 your-image
普通用户可通过 systemd-run 限制自己的进程,无需 root(部分限制需权限)。
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


