,可能出现死循环,死锁,一次性加载过多数据,或者代码出现内存泄漏
项目单元测试的jvm设置本身就不够
一开始本人没有人使用任何工具排查,仅仅是排查了自己写的代码,首先如线程池进行排查,是否进行关闭,全局变量都搞成了局部变量...一般是因为堆太小,导致异常的原因:没有足够的内存,
因此本人首先使用了jdk自带的工具visualvm,这个工具可以观察内存以及cpu等情况如下图
上图看到我们的堆和元空间不断的上升
此时我们就用下面命令看了一下我的...jvm配置
jmap -heap pid
可以清晰看到内存存是512M,新生代和老年代基本都满了,为了更好的看效果,当时我还用了jdk自带的工具Jconsole,这个工具非常直观,如下图,
看到这里时候...,内存回收不了多少内存,导致的内存溢出,
但是当时让本人疑惑的是,我的配置和别的项目一样呀,都是从别人那里复制过来的,然后我对比了一下,果然是我的Jvm配置有问题,根本就没有配置JVM参数,然后查了一下...jstat -gccause [PID] [时间间隔] [次数]”命令查看GradleWorkerMain进程的GC情况
jstat -gc [PID] [时间间隔] [次数]”命令查看GradleWorkerMain