什么是jvm8中的Metaspace大小?

时间:2016-05-03 08:54:54

标签: java garbage-collection jvm

根据元空间的描述,它只使用本机内存(无分页)。

由于类元数据是从本机内存分配的,因此最大可用空间是总可用系统内存。

我在互联网上找到了两个解释。 我有一个问题。

  1. 所谓的本机内存位于jvm进程中?本机内存大小= java进程内存大小 - 堆大小,对吗?如果是这样,为什么他们说最大可用空间是总可用系统内存,因为32位java进程的最大大小仅限于2G?

1 个答案:

答案 0 :(得分:1)

  

它只使用本机内存(无分页)。

可以根据需要交换此内存。

  

所谓的本机内存位于jvm进程中?

本机内存在JVM进程中。

  

本机内存大小= java进程内存大小 - 堆大小,对吧?

本机内存是本机代码可以看到的所有内存。您可能希望排除堆。

  

如果是这样,为什么他们说最大可用空间是总可用系统内存

如果您没有操作系统或架构限制,例如

,则会出现这种情况
  

32位java进程的最大大小仅限于2G左右?

最大值为4 GB,但在不同的操作系统上,操作系统使用部分虚拟内存。在Windows XP上,您只有1.2 - 1.5 GB。在某些UNIX上,32位进程可以使用3.0 - 3.5 GB