在java中设置permsize,xmx和xms值

时间:2011-09-18 16:18:58

标签: java jvm

我有一些关于在java中设置permsize,xmx和xms值的问题。这些是:

  1. permgen大小的默认大小为64 MB。不确定为heapsize定义了多少默认值?

  2. 给定RAM(2gb / 4gb)允许多少maxpermgen和xmx值?

  3. 我应该保持xmx和xms参数相等吗?保持它们不同有什么好处?

  4. 我应该保留XX:permgensize和XX:maxpermgensizeparameter是否相同?

1 个答案:

答案 0 :(得分:2)

0.1。对于客户端JVM,Java 6中的默认最大堆为64,对于服务器JVM,为内存的1/4或1 GB。

http://download.oracle.com/javase/6/docs/technotes/guides/vm/gc-ergonomics.html

0.2。 64位JVM的最大大小受可用内存的限制。

0.3。使用较低的最小值意味着如果不需要它,它可以使用更少的内存。如果您确切知道堆要使用多少内存,则可以将两者设置为相同。

0.4。同样,如果您确切地知道要使用多少,请将它们设为相同。如果您希望它不需要使用更少,只需设置最大值。

除非你知道你需要设置这些参数,否则我不会。我会让JVM锻炼有一个很好的价值。