IDC知识库
IDC领域专业知识百科平台
首页 > 云服务器知识

云服务器知识如何限制docker容器的内存大小

    • 企业邮箱 全新登场
    • 虚拟主机
    • 云服务器

    如何限制docker容器的内存大小?在docker容器的使用过程中,经常需要对容器可以使用的主机资源进行限制。

    限制容器不能过多的使用主机内存是非常重要的。对于 linux 主机来说,一旦内核检测到没有足够的内存可以分配,就会扔出 OOME(Out Of Memmory Exception),并开始杀死一些进程用于释放内存空间。

    内存限额

    与操作系统类似,容器可使用的内存包括两部分:物理内存和 swap。 Docker 通过下面两组参数来控制容器内存的使用量。

    -m 或 –memory:设置内存的使用限额,例如 100M, 2G。

    –memory-swap:设置 内存+swap 的使用限额。

    当我们执行如下命令:

    docker run -m 200M --memory-swap=300M ubuntu

    其含义是允许该容器最多使用 200M 的内存和 100M 的 swap。默认情况下,上面两组参数为 -1,即对容器内存和 swap 的使用没有限制。

    下面我们使用 progrium/stress 镜像来为容器分配内存。该镜像可用于对容器执行压力测试。执行如下命令:

    docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M

    –vm 1:启动 1 个内存工作线程。

    –vm-bytes 280M:每个线程分配 280M 内存。

    因为 280M 在可分配的范围(300M)内,所以工作线程能够正常工作,如果让工作线程分配的内存超过 300M,分配的内存超过限额,stress 线程报错,容器退出。

    如果在启动容器时只指定 -m 而不指定 –memory-swap,那么 –memory-swap 默认为 -m 的两倍,比如:

    docker run -it -m 200M ubuntu

    容器最多使用 200M 物理内存和 200M swap。

    西部数码容器云产品是通过docker技术,在集群服务器上部署容器服务实现,功能强大、简单易用,拥有上万linux镜像,灵活强大,安全可靠。高性价比的容器云产品链接 https://www.west.cn/paas/container/

    声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 如何限制docker容器的内存大小
    • 日销500+
      基础型云服务器

      2核CPU

      2G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合企业官网、个人站长类网站

      ¥106 原价¥116

    • 日销500+
      超值型云服务器

      2核CPU

      4G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合企业官网、行业门户类网站

      ¥156 原价¥171

    • 日销500+
      通用型云服务器

      4核CPU

      4G内存

      50G硬盘

      2M带宽

      独立IP

      分布式存储

      适合电商、论坛类网站

      ¥203 原价¥223

    分享到:更多 ()
      • 企业邮箱 全新登场
      • 虚拟主机
      • 云服务器

      评论 抢沙发

      • 昵称 (必填)
      • 邮箱 (必填)
      • 网址

      中国领先的互联网域名及云服务提供商

      为您提供专业域名知识,域名交易知识,云服务器知识,虚拟主机知识讲解

      域名注册云服务器