记一次OOM

1,问题描述:

新上了一版代码之后,上游服务请求我们服务失败,报错:“服务不可用”,发现注册中心上服务掉线,查询日志:发现oom:Java heap space,GC overhead limit exceeded。
在这里插入图片描述
在这里插入图片描述
容易发生内存溢出的内存空间包括:PermanentGeneration space和Heap space。

2,资料收集

OutOfMemoryError: Java heap space 内存溢出的一种,表示由于JVM中堆区不足,导致申请内存的请求无法被满足。通常是因为程序试图分配比堆空间更大的对象,或者是因为内存泄漏,导致程序不断分配内存,不能及时释放不再需要的内存。
OutOfMemoryError: GC overhead limit exceeded 内存溢出的一种,表示执行垃圾收集的时间比例太大,工作时间太少,程序花费了超过98%的时间来进行垃圾回收,而回收的内存少于2%,如果连续多次出现这种情况,就会抛出这个异常。
解决oom的途径:
①增大JVM内存。
②检查程序代码,是否有内存泄漏的地方。

3,解决过程

1,为了不影响上游服务,首

猜你喜欢

转载自blog.csdn.net/Edward_hjh/article/details/129047427