developS

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

线上出现oom问题如何排查?

一.造成oom的原因?

1.一次性申请的数据太多,比如一次性获取的数据放到list过多,可以分页查询等

2.内存未释放,比如使用jdbc大量连接无法释放,线程池拒绝策略未抛出异常,使用submit等待返回结果一直被阻塞,导致对象一直无法被回收,(因为程序无法结束),可以抛出异常,或者使用池化技术解决。

3.本身资源不够

分配的堆内存不足够,jmap-head查看堆信息

二.如何定位?

1.系统已经挂掉如何处理?

提前设置 -xx:+heapDumpOnOutOfMemoryError -XX:HeapDumpPath=

 使用Visual或者Jstack 分析工具倒入 dump日志  找到GCRoot-查看线程栈

 

 定位到写了一个死循环 

2.系统还未挂掉?

同样子导出dump文件,若不导出,更加难以定位 ,步骤同上 

posted on   四十四次日落95  阅读(260)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示