Docker 和空闲容器资源消耗
Docker and idling container resource consumption
假设你有两个Docker个容器(分别是两个微服务),每个10GB RAM,每个承受1000rps的负载。在某些时候,您在第一个容器(微服务)上有 1900 rps,在第二个微服务(容器)上有 100 rps。
Docker 或 Docker Swarm 是否足够聪明,不会浪费分配给第二个微服务(Docker 容器)的 10 GB RAM?
在没有设置约束的情况下,Docker 只使用主机可用的内存。这将满足您上面的用例,如果一个微服务突然使用总计 16GB 内存中的 15GB 内存,Docker 就可以了。这可能会导致问题。
为了缓解 OOM 情况,您可以使用 --memory
标志为每个 运行 容器设置硬限制,或者使用 --memory-reservation
标志设置软限制。
请参阅 resource constraints 文档了解完整细目。
假设你有两个Docker个容器(分别是两个微服务),每个10GB RAM,每个承受1000rps的负载。在某些时候,您在第一个容器(微服务)上有 1900 rps,在第二个微服务(容器)上有 100 rps。
Docker 或 Docker Swarm 是否足够聪明,不会浪费分配给第二个微服务(Docker 容器)的 10 GB RAM?
在没有设置约束的情况下,Docker 只使用主机可用的内存。这将满足您上面的用例,如果一个微服务突然使用总计 16GB 内存中的 15GB 内存,Docker 就可以了。这可能会导致问题。
为了缓解 OOM 情况,您可以使用 --memory
标志为每个 运行 容器设置硬限制,或者使用 --memory-reservation
标志设置软限制。
请参阅 resource constraints 文档了解完整细目。