Java Spring服务内存占用居高不下且无法自动触发GC回收问题求助
Java Spring服务内存占用居高不下且无法自动触发GC回收问题求助
我碰到个头疼的内存问题,我的Java服务基于JDK 21开发,搭配的是Spring框架3.2.1版本。
这个服务逻辑其实很简单,就是对外暴露了一个REST接口。每次调用这个接口时,服务会通过Spring的RESTCLIENT机制向另一个服务发起HTTP请求获取数据,拿到数据后直接返回给调用方就行。
因为要处理的数据量很大,所以调用接口的时候内存占用会突然飙升,这点我倒是有心理准备。但离谱的是,等处理完请求之后,内存占用就一直居高不下,完全降不回去。
我用VisualVM做了监控,能看到内存在请求处理结束后就一直维持在高位——哪怕过了24小时都没人再调用接口,内存还是没降下来。只有手动在VisualVM里点击“Perform GC”按钮,内存才会回落至正常水平。
补充几个关键信息:
- 服务运行在Docker容器中,使用的镜像版本是3.9.5-eclipse-temurin(原文此处内容未完整,按现有信息保留)
备注:内容来源于stack exchange,提问作者SkyBlue
相关产品推荐
相关产品推荐

