-XX:MaxPermSize有什么作用?

具体来说,为什么对解决PermGen OutOfMemoryError问题有帮助?

另外,为我提供有关JVM参数文档的答案,还有加分。

回答:

永久空间是VM使用的类,方法,内部化的字符串以及类似对象的存储位置,并且从不释放(因此命名)。

这篇Oracle文章简洁地介绍了HotSpot

GC的工作原理和参数化,并建议您在加载许多类时增加此空间(对于应用程序服务器和诸如Eclipse之类的某些IDE通常是这种情况):

对于大多数应用程序,永久生成不会对垃圾收集器的性能产生明显影响。但是,某些应用程序会动态生成并加载许多类。例如,JavaServer

Pages(JSP)页面的某些实现。这些应用程序可能需要更大的永久代来保留其他类。如果是这样,可以使用命令行选项-XX:MaxPermSize

=来增加最大永久代大小。

请注意,该其他Oracle文档还列出了其他HotSpot参数。

从Java

8开始,permgen空间和此设置都消失了。用于加载的类和方法的内存模型是不同的,并且不受限制(使用默认设置)。您不应再看到此错误。

以上是 -XX:MaxPermSize有什么作用? 的全部内容, 来源链接: utcz.com/qa/433111.html

回到顶部