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


目录
打赏
0
0
0
0
1016
分享
相关文章
|
11月前
|
andeoid 开发:Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
andeoid 开发:Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
Allocation of 179437568 exceeds 10% of free system memory.
本文讨论了在Python编程中遇到的"Allocation of XXXX exceeds 10% of free system memory"错误,并提供了几种解决方法,包括调整代码逻辑以减少内存分配和更改批量大小。
OOM out of memory 内存溢出
OOM out of memory 内存溢出
118 1
CMS 触发GC(Allocation Failure)解析
针对GC中发生的"Allocation Failure"
961 0
java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded原因及解决方法
java.lang.OutOfMemoryError: GC overhead limit exceeded原因及解决方法
1947 0
java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
最近一个上线运行良好的项目出现用户无法登录或者执行某个操作时,有卡顿现象。查看了日志,出现了大量的java.lang.OutOfMemoryError: GC overhead limit exceeded错误
3838 0
java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案