SuperAPI AI 工具集

linux-cgroups

通用与其它

查看项目

更新于 10-15 19:55

技能介绍

用途:在 Linux 服务器上为 OpenClaw 实例做精细化资源管理,基于 cgroups v2 限制内存与 CPU,并提供 OOM 保护,避免资源耗尽影响其他进程。

主要能力:通过 memory.max 限制单实例内存上限以防换页;通过 cpu.max 控制 CPU 带宽配额;通过 memory.oom.group 启用 OOM 保护、避免进程被突然终止;使用 systemd slice 做层级化资源分组,支持嵌套 cgroup。

使用方式:需以 root 或足够权限运行。先创建 cgroup 层级,再设置限制并分配进程。常用命令:sudo cgcreate -g memory,cpu:/openclaw_slice;sudo cgset -r memory.max=512M /openclaw_slice;sudo cgset -r cpu.max=100000 50000 /openclaw_slice;sudo cgexec -g memory,cpu:/openclaw_slice openclaw --run task。也可直接写入 /sys/fs/cgroup/ 下的文件,或在 /etc/systemd/system/ 下用 .slice 文件定义(如 MemoryMax=512M)。集成时可将启动脚本改为用 cgexec 包裹,并用 OPENCLAW_CGROUP_PATH 等环境变量传递路径。

适用场景:同一主机运行多个 OpenClaw 实例、容器或虚拟化共享环境,需要公平分配 CPU 与内存、限制高负载任务、在生产环境防止 OOM 终止。

限制与注意:需确认主机使用 cgroups v2(可用 stat /sys/fs/cgroup/unified 检查),若为 v1 需通过 systemctl 迁移。常见问题包括权限拒绝、cgroup 路径无效和 OOM 事件,可分别用 sudo、ls /sys/fs/cgroup/、dmesg | grep -i oom 排查;可用 systemd-cgtop 或读取 memory.current 监控用量。资料未提供具体收费、价格或平台支持信息。