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

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

容器云强势上线 上万Linux镜像供自由选择!

如何限制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;邮箱:hyg@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

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

    评论 抢沙发

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

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

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

    域名注册云服务器