事故原因:我们的 一个线上项目出现了 java.lang.OutOfMemoryError: GC overhead limit exceeded
top 命令发现CPU load average 超过了核心线程数。整个项目属于假死状态。
下载
堆栈信息进行分析如下 图所示:
1:打开7个G的文件

2,如下图所示

3,打开details进行分析。

4,分析如图所示,可以看到具体没有进行回收的对象是哪个,我的项目是ad_app_business_d_
线上项目遭遇`java.lang.OutOfMemoryError: GC overhead limit exceeded`错误,通过`top`命令观察到CPU负载过高。通过分析7GB的堆栈信息,发现特定对象未被回收,涉及ad_app_business_d_stat_xxxxx模块。进一步定位到问题代码,发现循环中存在导致大量对象未回收的问题,修复循环逻辑后成功解决内存泄漏问题。
事故原因:我们的 一个线上项目出现了 java.lang.OutOfMemoryError: GC overhead limit exceeded
top 命令发现CPU load average 超过了核心线程数。整个项目属于假死状态。
下载
堆栈信息进行分析如下 图所示:
1:打开7个G的文件

2,如下图所示

3,打开details进行分析。

4,分析如图所示,可以看到具体没有进行回收的对象是哪个,我的项目是ad_app_business_d_

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