-XX:带或不带-XX的MaxPermSize:PermSize [英] -XX:MaxPermSize with or without -XX:PermSize
问题描述
我们遇到了 Java.lang.OutOfMemoryError:PermGen space 错误并查看了tomcat JVM参数,而不是 -Xms
和 -Xmx
参数我们还指定 -XX:MaxPermSize = 128m
。经过一些分析后,我偶尔可以看到在PermGen空间发生垃圾收集,使其无法正常运行。
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.
我的问题是:除了增加 -XX:MaxPermSize
如果我同时指定 -XX:PermSize
会有什么区别?我知道总内存会是 Xmx + maxPermSize 但是还有其他原因 -XX:PermSize
不指定 -XX:MaxPermSize
时是否存在?
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?
如果您有真实的交易经验,请分享使用这些JVM参数。
Please do share if you have real-world experience dealing with these JVM parameters.
ps。 JVM是HotSpot 64位服务器VM构建16.2-b04
ps. The JVM is HotSpot 64bit Server VM build 16.2-b04
推荐答案
-XX:PermSize
指定在JVM启动期间分配的初始大小。如有必要,JVM将分配最多 -XX:MaxPermSize
。
-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
.
这篇关于-XX:带或不带-XX的MaxPermSize:PermSize的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!