IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析

一、编译报错如下:

http://cwiki.apache.org/confluence/display/MAVEN/OutOfMemoryError
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第1张图片

二、解决办法

(1) 在VM堆大小那里调整默认值700---->改成1400或者更大
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第2张图片
(2)Maven Runner vm options 配置-Xms256m -Xmx1024m
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第3张图片

三、jvm监测(使用jstack)

(1)shared build process heap size(共享构建进程堆大小)使用默认值700,和Maven Runner vm options无配置
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第4张图片
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第5张图片
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第6张图片

运行编译时候,系统默认初始化指定堆大小和最大堆大小,编译不通过

(2)shared build process heap size(共享构建进程堆大小)使用设置1400,和Maven Runner vm options无配置
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第7张图片
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第8张图片
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第9张图片
和1相同,运行编译时候,系统默认初始化指定堆大小和最大堆大小,编译不通过
(疑问?shared build process heap size(共享构建进程堆大小)设置和不设置有什么区别,从曲线上分析,趋势图相似,但是不设置编译不过)

(3)shared build process heap size(共享构建进程堆大小)使用设置1400,和Maven Runner vm options 设置-Xms256m -Xmx1024m
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第10张图片
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第11张图片
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第12张图片
运行编译时候,系统按配置初始化指定堆大小和最大堆大小,编译通过

总结:两者必须都设置才可行,有时间看下(2)中疑问

补充说明(额外):
Maven Importing vm options for importer此参数是maven导入包时候,初始化堆大小设置,与compile(编译)时候不同,一般情况默认空即可
IDEA maven compile报错OutOfMemoryError(内存溢出)解决及jvm分析_第13张图片

你可能感兴趣的:(cpu,idea,maven,intellij-idea)