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。

相关推荐
墨理学AI6 分钟前
虚拟机导致的服务器交换内容占用过大(服务器卡顿)问题 快速解决
运维·服务器
熊猫钓鱼>_>1 小时前
平行视界兼容模式与魔法变量配置避坑【鸿蒙心迹】
运维·服务器·开发语言·笔记·华为·harmonyos·openharmony
T量子永生2 小时前
Unisoc(紫光展锐) Kernel 6.18 DDK 编译框架详解
linux·运维·spring
无言听风雨丶2 小时前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构
曦夜日长2 小时前
主从 Reactor 高并发服务器实战 (三):服务器套接字Socket模块详解与实现
运维·服务器·网络
IT19953 小时前
Docker 快速部署 DM8 达梦数据库|完整踩坑笔记
笔记·docker·容器
wzg20163 小时前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker
Star(up up up)3 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
echome8883 小时前
Linux 定时任务:crontab 写法与常见失效原因
linux·运维·网络·定时任务·crontab
老约家的可汗3 小时前
Linux开发三件套:make、git、gdb 入门指南
linux·运维·服务器