首先我们对JVM有一个清楚的认识
![image.png](https://img-blog.csdnimg.cn/img_convert/88148544b07a5e3a2868d3f7e772c975.png)
你们的项目如何排查JVM问题
通过命令来查看
- jmap查看JVM中各个区域的使用情况
- jstack查看线程运行情况,有哪些线程阻塞,有没有出现死锁
- jstat命令查看垃圾回收情况,例如发现了垃圾回收中出现频繁Full GC现象
什么是Full GC
从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的
为什么出现这种现象
当对象或数组过大,超过一定阈值时,会直接进入到老年代,导致老年区内存不足而产生full gc,此时应该对虚拟机垃圾回收参数做出一定调整。