首页/云/Docker 容器速查/docker run --memory-reservation 内存软限制
资源与安全50 条

docker run --memory-reservation 内存软限制

内存软限制:设置 --memory-reservation 后容器日常可弹性使用内存,只有在宿主内存紧张时才被压回该水位,适合给带缓存的服务留缓冲。

Docker 容器速查云更新于 2026-10-12
用途内存软限制(弹性水位)
语法--memory-reservation=512m(与 --memory 搭配)
cgroup 映射v2 → memory.low;v1 → memory.soft_limit_in_bytes

示例

示例
docker run -d --memory=1g --memory-reservation=512m --name api app/api:1.4.2
docker inspect -f '{{.Name}} hard={{.HostConfig.Memory}} soft={{.HostConfig.MemoryReservation}}' api
docker info -f 'CgroupVersion={{.CgroupVersion}}'
软限制只在宿主出现内存压力时生效;压测时要制造内存竞争,否则观察不到回收行为。

易错点

  • 把软限制当硬上限会误判容量:容器超过软限后仍可继续分配,直到硬限
  • cgroup v1 与 v2 的实现字段不同,跨代环境排查先确认 docker info 的 Cgroup Version

数据来源与参考

  • Docker 官方文档:Runtime options with Memory, CPUs, and GPUs(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌