docker限制容器内存的方法

在服务器中使用 docker 时,如果不对 docker 的可调用内存进行限制,当 docker 内的程序出现不可预测的问题时,就很有可能因为内存爆炸导致服务器主机的瘫痪。而对 docker 进行限制后,可以将瘫痪范围控制在 docker 内。

因此,本文将介绍使用 docker 进行容器内存限制的方法。

容器内存限制

使用 docker 进行容器内存限制有两种方法,一种是在启动时对容器内存进行限制;另一种是容器启动后对容器内存进行限制。

(1)启动时进行限制

在启动时,通过命令

bash 复制代码
docker run ... -m 40G ...

中的 -m 40G 部分限制开启容器的可调用内存。此处限制容器可调用内存上限为 40 G。

(2)启动后进行限制

已经启动一个容器后,可以使用

bash 复制代码
docker update -m 40G {container_id/container_name}

开启容器的内存限制。其中,-m 40G 部分限制了可调用内存上限为 40 G,后面 {container_id/container_name} 表示容器 ID 或者容器名。

限制情况查看

完成限制后,可以在容器内或主机内查看限制情况。

(1)在主机内查看

在主机内,只需要通过命令

bash 复制代码
docker stats {container_id/container_name}

即可查看对容器的限制情况,如下图所示。

(2) 在容器内查看

在容器内,通过命令

bash 复制代码
cat /sys/fs/cgroup/memory/memory.limit_in_bytes 

即可查看容器的内存限制,如下图所示。单位为 Byte。

相关推荐
Elastic 中国社区官方博客2 分钟前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
艾伦_耶格宇33 分钟前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode
SXkehuirongsheng42 分钟前
APP开发定制和模板开发哪个更实用?
大数据·运维·人工智能
虎王物联1 小时前
Docker Compose编排物联网平台后端:Nginx+PHP-FPM+EMQX+InfluxDB一键部署实战
物联网·nginx·docker
林浅不想努力1 小时前
k8s集群部署的方法原理
云原生·容器·kubernetes
輝太くん2 小时前
k8s中的pod管理
云原生·容器·kubernetes
fb_123452 小时前
Linux三剑客超全精讲(grep+sed+awk)零基础入门|正则+实战面试题
linux·运维·服务器
HiDev_2 小时前
【非标自动化】2、认识元器件(节流阀)
运维·自动化
火车叼位3 小时前
Bash 实现 IDE 式补全的组件与配置
linux·运维
晓晓_za8986683 小时前
Geo 优化服务 CI/CD 流水线搭建:源码自动构建、测试与灰度发布
运维·服务器·tcp/ip·spring·缓存·ci/cd