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对象的方式。


相关文章
|
7月前
|
Java
andeoid 开发:Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
andeoid 开发:Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
45 0
|
7月前
|
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
113 1
|
存储 算法 Java
CMS 触发GC(Allocation Failure)解析
针对GC中发生的"Allocation Failure"
842 0
|
存储 算法 关系型数据库
PostgreSQL 垃圾回收参数优化之 - maintenance_work_mem , autovacuum_work_mem
PostgreSQL 垃圾回收参数优化之 - maintenance_work_mem , autovacuum_work_mem
3520 1
|
Oracle Java 关系型数据库
GC Overhead Limit Exceeded Error
GC Overhead Limit Exceeded Error
160 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原因及解决方法
1671 0
|
算法 Oracle Java
java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
最近一个上线运行良好的项目出现用户无法登录或者执行某个操作时,有卡顿现象。查看了日志,出现了大量的java.lang.OutOfMemoryError: GC overhead limit exceeded错误
3704 0
java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
|
算法 Java 编译器
troubleshoot之:GC调优到底是什么
troubleshoot之:GC调优到底是什么
troubleshoot之:GC调优到底是什么