目录
前言:
服务器其实内存是够用的!但是服务器 日志 提示了一下这个日志:
所以得排查一下原因了!!!
完整报错信息:
2021-12-17 14:21:56.469 [http-nio-19006-exec-7] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] -Servlet.service() for servlet [dispatcherServlet] in context with path [/order_service] threw exception [Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: GC overhead limit exceeded] with root cause
A同事盘查这个原因是:
- 程序流转到其中一步的时候,有一个特别大的对象新建了,瞬间把jvm内存撑满,然后报的内存溢出。
- 查看项目中是否有大量的死循环或有使用大内存的代码,优化代码。
发现问题:
由于前端在请求一个接口的时候,接口访问超时了, 操作人员 刷新页面 再次请求, 造成了对数据库 太大的压力,/cpu来不及释放,所以就内存溢出了


物理解决办法:
- 增加服务器性能,调整jvm分配参数, 或者在启动脚本的时候 分配大一点的参数
- 增大堆内存 set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:MaxNewSize=1024m -XX:MaxPermSize=1024m

651

被折叠的 条评论
为什么被折叠?



