首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring boot微服务在部署在ecs aws中的容器中消耗大量内存

spring boot微服务在部署在ecs aws中的容器中消耗大量内存
EN

Stack Overflow用户
提问于 2021-03-21 00:11:39
回答 1查看 326关注 0票数 2

我在spring boot中有一个微服务,它部署在ECS中具有corretto 11的容器中。

该组件部署512MB,初始消耗接近50%,随着流量增加,内存增加,始终不能释放,导致ECS中的任务崩溃,必须重新启动。

下图显示了内存在一段时间内的行为,随着通信量的增加,ECS中的任务开始工作的时间越短。

Memory Consumption in a Container on AWS ECS

Spring Boot版本: 2.4.3 JDK镜像: Corretto 11

更新:

我做了一个分析器和堆转储的分析,我发现spring库中的使用量很高。

Heapdump analysis with VisualVM

EN

回答 1

Stack Overflow用户

发布于 2021-03-21 04:12:50

根据屏幕截图,问题似乎出在DefaultListableBeanFactory对象中。

请检查您的代码,并确保您没有为每个请求实例化spring bean。如果是这样的话,你只需要静态地自动连接它们一次。

例如,检查以下解决方案:Memory leak in jboss service due to DefaultListableBeanFactory objects

以下是关于可序列化bean工厂管理中为什么会有内存泄漏的解释:

https://github.com/spring-projects/spring-framework/issues/12159?focusedCommentId=57240&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-57240

附注:我不认为Spring框架本身存在bug,但如果有,请将Spring Boot升级到最新版本。也许你的版本包含一些bug,这会导致内存泄漏。

在这个报告的问题中查看详细信息:https://github.com/spring-projects/spring-framework/issues/25619

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66723748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档