我有一些在AWS EC2实例上运行的Docker容器。容器正在运行Java Spring Boot应用程序。间歇性地(到目前为止,每两周一次),似乎Docker内存不足。有时,我什至无法通过SSH重新登录到实例。
我试图查看每个容器中的应用程序日志文件,以查看引起问题的容器,但找不到任何与内存相关的错误。在Docker日志文件中,我只能看到以下错误:
发生错误时,docker-containerd无法分配内存。
如何进一步解决此问题?
如果您的代码有一些设计问题,那么Java程序就以消耗内存而闻名。首先,尝试配置最大堆内存,并查看如何实现。
既然你说
有时我什至无法通过SSH重新登录到实例。
我也会尝试限制Docker容器的内存使用量:
如果您的Java程序由于内存不足而崩溃,那么我将对应用程序进行概要分析,并查看确切的位置正在消耗内存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句