GC overhead limit exceeded问题排查

简介: GC overhead limit exceeded问题排查

某次应用报了异常,异常信息提示为“GC overhead limit exceeded”,怀疑是内存存在问题,使用jmap导出其堆内存情况,并且使用MAT进行分析,发现了有concurrentHashMap大对象,继续追其原因发现都是“redirect:http://xxx“”对象,排查代码发现有使用到redirect的地方只有SpringMVC ModelAndView,在controller方法返回时返回了一个new ModelAndView("redirect:"+"{url}");

每次返回一个重定向的地址不一样时都会创建一个对象,于是随着请求数量越来越多,这个哈希对象就越来越大,最终造成“GC overhead limit exceeded”。


解决方案:使用response.sendRedirect()方法替代ModelAndView对象的方式。


相关文章
|
6月前
|
Java
andeoid 开发:Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
andeoid 开发:Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
38 0
|
4月前
|
Java
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
801 0
|
6月前
|
缓存 Java 开发工具
OOM out of memory 内存溢出
OOM out of memory 内存溢出
90 1
|
6月前
|
DataWorks 数据管理 大数据
DataWorks操作报错合集之出现报错 "ERROR: Total memory used by all existing queries exceeded memory limitation."如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
126 2
|
6月前
|
Java 开发者 iOS开发
8 种 Java- 内存溢出之二 -GC overhead limit exceeded
8 种 Java- 内存溢出之二 -GC overhead limit exceeded
|
存储 算法 Java
JEP 331: Low-Overhead Heap Profiling
JEP 331: Low-Overhead Heap Profiling
102 1
|
存储 算法 Java
CMS 触发GC(Allocation Failure)解析
针对GC中发生的"Allocation Failure"
820 0
|
Oracle Java 关系型数据库
GC Overhead Limit Exceeded Error
GC Overhead Limit Exceeded Error
154 0
java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
|
Java 编译器 微服务
java.lang.OutOfMemoryError: GC overhead limit exceeded原因及解决方法
java.lang.OutOfMemoryError: GC overhead limit exceeded原因及解决方法
1390 0