Docker耗尽内存

时间:2017-10-27 20:51:37

标签: spring-boot docker amazon-ec2

我在AWS EC2实例上运行了一些 Docker容器。容器正在运行Java Spring Boot 应用程序。间歇性地(到目前为止每隔几周),似乎Docker内存不足。有时候,我甚至无法通过SSH回到实例中。

我试图查看每个容器中的应用程序日志文件,以查看导致问题的容器,但我找不到任何与内存相关的错误。在Docker 日志文件中,我只能看到错误:

  发生错误时,

docker-containerd无法分配内存。

如何进一步排查?

1 个答案:

答案 0 :(得分:0)

如果您的代码存在一些设计问题,那么Java程序以消耗内存而闻名。首先,尝试配置最大堆内存,看看它是如何通过的。

既然你说过,

  

有时我甚至无法通过SSH回到实例中。

我会尝试限制Docker容器的内存使用量:

Limit a container's resources

如果您的Java程序因内存不足而崩溃,那么我会分析应用程序并查看内存被吃掉的位置。