推荐阅读:史上最详细JVM与性能优化知识点综合整理
1.Java 堆空间
2.GC 开销超过限制
3.请求的数组大小超过虚拟机限制
4.Perm gen 空间
5.Metaspace
6.无法新建本机线程
7.杀死进程或子进程
8.发生 stack_trace_with_native_method
1. Java 堆空间
发生频率
:5颗星造成原因
无法在 Java 堆中分配对象吞吐量增加应用程序无意中保存了对象引用,对象无法被 GC 回收应用程序过度使用 finalizer。finalizer 对象不能被 GC 立刻回收。finalizer 由结束队列服务的守护线程调用,有时 finalizer 线程的处理能力无法跟上结束队列的增长解决方案
使用 -Xmx 增加堆大小修复应用程序中的内存泄漏2. GC 开销超过限制
发生频率
:5颗星造成原因
Java 进程98%的时间在进行垃圾回收,恢复了不到2%的堆空间,最后连续5个(编译时常量)垃圾回收一直如此。解决方案
使用 -Xmx 增加堆大小使用 -XX:-UseGCOverheadLimit 取消 GC 开销限制修复应用程序中的内存泄漏3. 请求的数组大小超过虚拟机限制
发生频率
:2颗星造成原因
应用程序试图分配一个超过堆大小的数组解决方案
使用 -Xmx 增加堆大小修复应用程序中分配巨大数组的 bug4. Perm gen 空间
发生频率
:3颗星造成原因
Perm gen 空间包含:
类的名字、字段、方法与类相关的对象数组和类型数组JIT 编译器优化当 Perm gen 空间用尽时,将抛出异常。