Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java上的默认MaxMetaspaceSize非常大?_Java_Jvm_Metaspace - Fatal编程技术网

为什么Java上的默认MaxMetaspaceSize非常大?

为什么Java上的默认MaxMetaspaceSize非常大?,java,jvm,metaspace,Java,Jvm,Metaspace,通过如下打印JVM参数,我检查了JVM上的默认MaxMetaspaceSize java -XX:+PrintFlagsFinal -version | grep MaxMetaspaceSize uintx MaxMetaspaceSize = 18446744073709547520 {product} java version "1.8.0_152" Java(TM) SE Runtime En

通过如下打印JVM参数,我检查了JVM上的默认MaxMetaspaceSize

java -XX:+PrintFlagsFinal -version | grep MaxMetaspaceSize
    uintx MaxMetaspaceSize                          = 18446744073709547520                    {product}
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
假设这些JVM参数值以字节为单位显示,默认的MaxMetaspaceSize大约为18 EB


有人能解释一下为什么默认的MaxMetaspaceSize值这么大吗?

18446744073709547520=0xFFFFFFFFF000

这基本上是最大可能的64位整数(四舍五入到页面大小)。

我们的想法是在默认情况下使MaxMetaspaceSize不受限制。

18446744073709547520=0xFFFFFFFFF000

这基本上是最大可能的64位整数(四舍五入到页面大小)。

我们的想法是默认设置
MaxMetaspaceSize
无限制。

谢谢@apangin。
MaxHeapSize
的默认值是内存大小的一小部分。是否有理由将
MaxMetaspaceSize
default设置为unlimited而不是类似于
MaxHeapSize
的一小部分内存?@nilusancosta元空间的主要目标之一是删除PermGen并避免调整其大小。有关详细信息,请参阅。谢谢@apangin。
MaxHeapSize
的默认值是内存大小的一小部分。是否有理由将
MaxMetaspaceSize
default设置为unlimited而不是类似于
MaxHeapSize
的一小部分内存?@nilusancosta元空间的主要目标之一是删除PermGen并避免调整其大小。有关详细信息,请参阅。