Docker 多个容器 cgroup 资源 CPU MEM 限制
Docker multiple containers cgroup resource CPU MEM limitation
我正在使用 Ubuntu 21.10 并想限制我的 docker 容器子集的系统资源(CPU,MEM)——而不是针对特定容器。我该怎么做?
我想出了一些解决办法。在容器启动时有一个 docker 参数给我们。
首先您需要在/etc/systemd/system/mygroup.slice
和运行systemctl daemon-reload
.
中创建mygroup.slice
[Unit]
Description=my cgroup for Docker
Before=slices.target
[Slice]
MemoryAccounting=true
MemoryHigh=7G
MemoryMax=7.5G
CPUAccounting=true
CPUQuota=50%
在之后可以用下一个参数启动一组容器。
--cgroup-parent=mygroup.slice
最后运行systemd-cgtop
检查资源分配。
我正在使用 Ubuntu 21.10 并想限制我的 docker 容器子集的系统资源(CPU,MEM)——而不是针对特定容器。我该怎么做?
我想出了一些解决办法。在容器启动时有一个 docker 参数给我们。
首先您需要在/etc/systemd/system/mygroup.slice
和运行systemctl daemon-reload
.
[Unit]
Description=my cgroup for Docker
Before=slices.target
[Slice]
MemoryAccounting=true
MemoryHigh=7G
MemoryMax=7.5G
CPUAccounting=true
CPUQuota=50%
在之后可以用下一个参数启动一组容器。
--cgroup-parent=mygroup.slice
最后运行systemd-cgtop
检查资源分配。