记一次Springboot内存爆满溢出

本文记录了一次由于配置错误导致的Springboot应用内存爆满溢出的问题。起初认为是JVM启动内存设置不当,调整参数无效。进一步排查发现,问题源于一个接口请求时未复用HttpClient,但即使修复此问题,内存仍持续增长。最后发现是复制配置文件时,引入了过大的请求头限制,每次请求都会生成大量内存用于接收请求头,从而引发内存暴增。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存溢出原因

起因

服务做好准备上线了
因为测试的时候在本地都是单线程测试
想着没什么问题了,也就几千人在线的服务器,也闹不出啥大问题,就传到服务器上了
然后请求两个接口直接返回报错,服务器日志内存溢出

经过

我觉得吧,可能是JVM启动内存太小了,就找加JVM启动参数(-Xxs 5120M)这种增大调
然后还是请求两个接口就爆满
后面觉得是HttpClient的问题?(本次上线纯粹为了附带测试下HttpClient的性能)
因为做的爬虫服务,1个接口请求会爬30几个网址,没做复用,觉得可能因为这个。
后面不断地加断点,从最后一个链接,加到第一个,内存也都没变化(保持在几十M)
可能是断点的原因导致Bug没有重现,
我就改成加Return,直接返回,看看哪一步会导致占用内存猛涨。
又是从从最后一个链接,加到第一个。心都累了,半夜人憔悴。
直至把拦截器什么的都注释了,还是内存暴增,请求个空白的页面他都涨。

最后

后面新开了一个Springboot项目,啥也没弄,就增加了个controller入口类。。。
这内存还是一个请求就增加2个G,我开始怀疑人生了,难道IDEA爸爸跟我过不去?(以前用eclipse没出现过这种问题)
后面仔细回想了下ÿ

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值