我期待Runtime.maxMemory()完全返回-Xmx,但它返回一个较低的值。 那它又回归了什么?
答案 0 :(得分:5)
-Xmx标志的解释依赖于VM。一些虚拟机, 包括HotSpot,强制执行有效值的下限 这个选项。 CCC提案不应该提到-Xmx标志 就这样。
答案 1 :(得分:4)
返回Java虚拟机将尝试使用的最大内存量,jvm可能不会将您定义为-Xmx
参数的所有内存仅用于堆。
答案 2 :(得分:1)
指定内存分配池的最大大小(以字节为单位)。 此值必须是1024的倍数大于2MB。附上这封信 k或K表示千字节,或m或M表示兆字节。该 默认值为64MB。该值的上限为 Solaris 7和Solaris 8 SPARC平台上的大约4000米 在Solaris 2.6和x86平台上2000m,减去开销金额。 例子:
-Xmx83886080 -Xmx81920k -Xmx80m
返回Java虚拟机的最大内存量 将尝试使用。如果没有固有的限制那么值 将返回Long.MAX_VALUE。