Spring Boot应用多请求下触发OutOfMemoryError的排查与解决
Spring Boot健康检查端点多次请求触发OutOfMemoryError的解决方案
问题场景
我开发的Spring Boot应用包含多个REST端点,仅向基础健康检查端点发送约50次请求就抛出OutOfMemoryError。尝试调大JVM的Xmx参数只能临时缓解——最多支撑100次请求后仍会报错。
根因分析与解决方案
排查后定位到问题根源:server.max-http-header-size配置值设置过高。
将该参数恢复为Spring Boot默认值后,OutOfMemoryError问题彻底解决。
补充说明
当server.max-http-header-size设置过大时,应用会为每个HTTP请求分配远超实际需求的内存空间用于存储请求头。随着请求次数增加,这类冗余的内存占用持续累积,最终耗尽JVM堆内存触发溢出。恢复默认值后,请求头的内存分配回归合理范围,从根源上避免了不必要的内存消耗。
内容的提问来源于stack exchange,提问作者Alisha Raj
相关产品推荐
相关产品推荐

