首页/云/Docker 容器速查/docker run --memory-swap 交换空间控制
本包目录(366 条)
基础命令50 条镜像与构建107 条网络与存储52 条Compose 编排55 条
资源与安全50 条
容器排障52 条

docker run --memory-swap 交换空间控制

控制内存加交换的总量:--memory-swap 等于 --memory 时禁用交换;不设置时默认允许使用与内存等量的交换。

Docker 容器速查云更新于 2026-10-12
语义memory-swap = 内存 + 交换 的总上限
禁用交换--memory-swap 与 --memory 相同
默认未设置时允许等量交换

示例

示例
# 禁用交换:内存 512m,swap 也为 512m
docker run -d --memory=512m --memory-swap=512m --name no-swap app/api:1.4.2
# 允许 512m 内存 + 512m 交换
docker run -d --memory=512m --memory-swap=1g --name with-swap app/api:1.4.2
延迟敏感服务通常禁用交换避免抖动;批处理类可保留交换提高内存利用率。

易错点

  • --memory-swap 写小于 --memory 会被拒绝(除 -1),先算清总量再写
  • 宿主机交换空间不足时容器仍会被 OOM,swap 参数不等于额外内存

数据来源与参考

  • Docker 官方 CLI 参考:docker run --memory-swap(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌