十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
分配内存和cpu?默认情况下,容器使用的资源是不受限制的。也就是可以使用主机内核调度器所允许的最大资源。但是在容器的使用过程中,经常需要对容器可以使用的主机资源进行限制,下面我们来介绍下。
10多年专注成都网站制作,成都定制网站,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都定制网站,高端网页制作,对木屋等多个行业,拥有丰富的网站运维经验。
容器CPU设置默认设置下,所有容器可以平等地使用主机 CPU 资源并且没有限制。docker
可以通过-c或–cpu-shares设置容器使用 CPU 的权重。如果不指定,默认值为 1024。与内存限额不同,通过-c设置的 cpu share 并不是 CPU 资源的绝对数量,而是一个相对的权重值。某个容器最终能分配到的 CPU 资源取决于它的 cpu share 占所有容器 cpu share 总和的比例。通过 cpu share 可以设置容器使用 CPU 的优先级。比如在 host 中启动了两个容器:docker run --name "container_A" -c 1024 ubuntudocker run --name "container_B" -c 512 ubuntu
container_A 的 cpu share 1024,是 container_B 的两倍。当两个容器都需要 CPU 资源时,container_A 可以得到的 CPU 是 container_B 的两倍。需要注意的是,这种按权重分配 CPU只会发生在 CPU资源紧张的情况下。如果 container_A 处于空闲状态,为了充分利用 CPU资源,container_B 也可以分配到全部可用的 CPU。容器内存限额与操作系统类似,容器可使用的内存包括两部分:物理内存和 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 内存。如果让工作线程分配的内存超过 300M,分配的内存超过限额,stress 线程报错,容器退出。如果在启动容器时只指定 -m 而不指定 –memory-swap,那么 –memory-swap 默认为 -m 的两倍,比如:docker run -it -m 200M ubuntu容器最多使用 200M 物理内存和 200M swap。
以上是关于如何给docker容器分配内存和cpu的介绍。创新互联的容器云产品是通过docker技术,在集群服务器上部署容器服务实现,功能强大、简单易用,拥有上万linux镜像,秒级开通,高性价比的容器云产品链接
https://www.cdcxhl.com/cloud/