惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
腾讯CDC
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
博客园 - 司徒正美
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
Vercel News
Vercel News
爱范儿
爱范儿
Last Week in AI
Last Week in AI
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
D
DataBreaches.Net
博客园_首页
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
V
V2EX
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理

博客园 - Hey,Coder!

微信小程序 web方案实现调音器功能 pipenv环境变量配置 .net8验证码 数据库差异对比工具 docker部署prometheus grafana pgexporter Alertmanager ubuntu24 换源 ssh配置 ubuntu24 Harbor部署 ubuntu24 kvm部署 cockpit web管理界面 .net api代理 Ubuntu 24.04 DMAR IOMMU 报错修复 uniapp iOS App 上架 vs文件软链接 Docker 网络别名 .net8通用中间件处理公共返回值结构 .net环境下OpenTelemetry Body 读取注意事项 jaeger界面显示异常 .net opentelemetry collector jaeger c# opentelemetry 自定义export c# opentelemetry 自定义export c# 生成对象的初始化代码 Elasticsearch ILM 与 Data Stream 概念及实例说明文档 portainer httphelper封装 Ocelot + Consul + SignalR 粘性会话 正交软件架构 docker postgresql17 主从复制 rabbitmq总结与c#示例 docker rabbitmq quartz dashboard docker consul registrator 服务自动注册consul 微服务动态扩容
systemctl slice配置docker最大占用cpu 内存
Hey,Coder! · 2026-09-10 · via 博客园 - Hey,Coder!

Docker 全局资源限制配置指南

1. 创建 systemd Slice

创建文件 /etc/systemd/system/docker_limit.slice

[Unit]
Description=Docker global resource slice

[Slice]
CPUAccounting=true
MemoryAccounting=true
CPUQuota=360%
MemoryHigh=12G
MemoryMax=14.4G

执行:

sudo systemctl daemon-reload
sudo systemctl enable --now docker_limit.slice

2. 配置 Docker 守护进程

编辑 /etc/docker/daemon.json

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "cgroup-parent": "docker_limit.slice"
}

执行:

sudo systemctl restart docker

3. 重启已有容器

无需重建镜像,直接重启即可迁移到新 slice:

docker restart <容器ID或名称>

4. 验证配置生效

# 获取容器 PID
PID=$(docker inspect -f '{{.State.Pid}}' <容器ID>)
# 查看 cgroup 路径
cat /proc/$PID/cgroup

正常输出应包含:0::/docker_limit.slice/docker-<容器ID>.scope


注意事项

  • 驱动匹配:必须确认 docker infoCgroup Driversystemd,否则 slice 不生效。
  • Slice 状态:若报 invalid slice name,请检查 systemctl is-active docker_limit.slice 是否为 active
  • 重启生效:全局配置改完后必须 restart docker;旧容器必须执行 restart 才会进入新 slice。
  • 路径格式daemon.json 中的 cgroup-parent 必须带前导斜杠(/docker_limit.slice)。
  • 资源换算CPUQuota 按核数×90%计算(如4核设360%),内存按总容量×90%设置。