10

我期待 Runtime.maxMemory() 准确地返回 -Xmx 但它返回一个较低的值。那么它返回了什么?

4

3 回答 3

5

-Xmx 标志的解释取决于 VM。包括 HotSpot 在内的一些 VM 会对该选项的有效值实施一个下限。CCC 提案不应该以这种方式提到 -Xmx 标志。

参考

于 2012-12-05T18:14:20.750 回答
4

返回 Java 虚拟机将尝试使用的最大内存量,jvm 可能不会使用您定义-Xmx为仅堆参数的所有内存。

于 2012-12-05T18:11:20.150 回答
1

-Xmxn

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

       -Xmx83886080
       -Xmx81920k
       -Xmx80m

最大内存()

返回 Java 虚拟机将尝试使用的最大内存量。如果没有固有限制,则返回 Long.MAX_VALUE 值。

于 2012-12-05T18:18:42.310 回答