MaxRAM


根据计算机上的内存量。用于堆的内存比例由命令行选项InitialRAMFraction和MaxRAMFraction控制
[...]
MaxRAM的值取决于平台。


Xmx


-Xmxn
指定内存分配池的最大大小(以字节为单位)。此值必须是大于2 MB的1024的倍数。追加字母k或K表示千字节,或者追加m或M表示兆字节。默认值为64MB。在Solaris 7和Solaris 8 SPARC平台上,此值的上限约为4000m,在Solaris 2.6和x86平台上,该值的上限约为2000m(减去开销)。


据我了解,两者均定义heap大小。没有?建议使用什么:XmxMaxRAM?如果我同时使用哪一个卵子?

最佳答案

-Xmx指定堆的精确上限。这是设置堆大小的首选方法。

-XX:MaxRAM不会直接定义堆大小。取而代之的是,此参数在根据人体工程学计算堆限制时会覆盖物理RAM的实际数量。

如果设置了-Xmx,则从不使用MaxRAM。否则,最大堆大小估计为1

MaxHeapSize = MaxRAM * MaxRAMPercentage / 100% (default MaxRAMPercentage=25)




1实际的algorithm有点复杂,并且取决于其他参数。

09-05 11:30