We've run into a Java.lang.OutOfMemoryError: PermGen space error and looking at the tomcat JVM params, other than the -Xms
and -Xmx
params we also specify -XX:MaxPermSize=128m
. After a bit of profiling I can see occasionally garbage collection happening on the PermGen space saving it from running full.
My question is: other than increasing the -XX:MaxPermSize
what would be the difference if I specify as well -XX:PermSize
? I know the total memory then would be Xmx+maxPermSize but is there any other reason why -XX:PermSize
should not be there when -XX:MaxPermSize
is specified?
Please do share if you have real-world experience dealing with these JVM parameters.
ps. The JVM is HotSpot 64bit Server VM build 16.2-b04
-XX:PermSize
specifies the initial size that will be allocated during startup of the JVM. If necessary, the JVM will allocate up to -XX:MaxPermSize
.