该问题是由于IDE为JVM分配的最大可用内存(-Xmx)过小导致。
启动的时候多加一点
-Xms1024m -Xmx2048m
还报错,在加
liunx下带参数启动常用启动:
nohup java -Xms512m -Xmx512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -jar *.jar > *.log &
后台启动,日志输出到当前文件夹下
附:参数意义
Xms
:表示JVM Heap(堆内存)最小尺寸,初始分配空间;
Xmx
:表示JVM Heap(堆内存)最大允许的尺寸,过小可能会导致java.lang.OutOfMemory
PermSize
:永久代最小尺寸,初始分配
MaxPermSize
:永久代最大的尺寸,过小会导致java.lang.OutOfMemoryError:PermGen space
MetaspaceSize
:元空间最小尺寸,初始分配
MaxMetaspaceSize
:元空间最大的尺寸
注:Java8以后,永久代被元空间取代,同时元空间不像永久代一样受制于内存,元空间是基于操作系统内存的,理论上可以一直扩展内存知道操作系统的极限。