-XX:MaxPermSize with or without -XX:PermSize(-XX:MaxPermSize 带或不带 -XX:PermSize)
问题描述
我们遇到了 Java.lang.OutOfMemoryError: PermGen space 错误并查看了除 -Xms
和 - 之外的 tomcat JVM 参数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 64bit Server VM build 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:MaxPermSize 带或不带 -XX:PermSize的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:-XX:MaxPermSize 带或不带 -XX:PermSize
基础教程推荐
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01