如何为Eclipse找到最大允许的MaxPermSize?

时间:2012-01-12 13:45:49

标签: eclipse memory size

我在我的计算机上看到的是1 GB附近,所以我尝试设置在

附近
-XX:MaxPermSize=800m

但是Eclipse没有启动。 设置时:

-XX:MaxPermSize=380m

开始。

哪种内存大小最佳?我怎么算? 感谢。

3 个答案:

答案 0 :(得分:3)

我认为如果将MaxPermSize设置为800m,则必须使用-Xmx参数增加总内存。

答案 1 :(得分:1)

我不知道JVM的理论最大内存大小。但是,在考虑内存大小时,内存中应存在多种内存(有关一些想法,请参阅http://www.yourkit.com/docs/kb/sizes.jsphttp://mark.koli.ch/2009/01/understanding-javas-perm-gen-maxpermsize-heap-space-etc.html)。

基本上,堆大小用于所有运行时变量; permsize用于加载的类。在典型的场景中,permsize不需要是800M。我设定的最大permgen大小约为256M。

但是,我建议检查日志:Eclipse的文件夹中有一些启动日志(不知道确切的位置);或者你可以从命令行启动eclipse(在Windows上使用eclipsec.exe)或者只是从bash执行eclipse二进制文件。通过这种方式,您可以获得一些可能有助于解决问题的反馈。

答案 2 :(得分:1)

如果将初始堆大小(-Xms)和最大堆大小(-Xmx)设置为相同的值,这将确保该进程有足够的可用内存,因为它将以其最大值开始。然后,如果您逐渐从1G减少此值,您应该能够将其降低到流程开始的程度。只要机器上运行的其他进程是典型的,这应该可以找到最佳的堆大小。