有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jvm如何在Java中设计一个好的permgen空间字符串?

我想知道您将如何用Java设计一个好的permgen空间字符串。根据我的研究和理解,我得出以下结论:

示例:JAVA_OPTS='-Xmx512m -XX:MaxPermSize=256m -server -Djava.awt.headless=true'

很抱歉,当我第一次发布问题时,示例没有粘贴


共 (1) 个答案

  1. # 1 楼答案

    我对这个问题也有点不清楚,但如果你是说什么是最大permgen大小的好数字,这将取决于你的应用程序和加载的类/方法的数量。为了帮助确定它们,您可以使用典型和最密集的用例运行应用程序,并使用JConsole,查看应用程序最终实际使用了什么

    JConsole可以显示所有堆和永久生成空间,因此您可以通过这种方式确定MaxPermSize所需的数量。因为它是类+方法数据,所以它将是应用程序加载多少类的函数,而不是多少实例。注意,它也与堆大小分开(事实上,JConsole将内存使用分类为非堆内存使用)。在我链接的JConsole页面上,请参见图5。它是最右边的非堆,可以单击

    在Java6中,应用程序将允许从JConsole进行连接,而无需额外配置。在Java5中,您可能需要设置一些标志。它包含在JDK中

    作为参考,对于加载了约10000个类的应用程序,我们的MaxPermSize为96m