根据元空间的描述,它只使用本机内存(无分页)。
由于类元数据是从本机内存分配的,因此最大可用空间是总可用系统内存。
我在互联网上找到了两个解释。 我有一个问题。
答案 0 :(得分:1)
它只使用本机内存(无分页)。
可以根据需要交换此内存。
所谓的本机内存位于jvm进程中?
本机内存在JVM进程中。
本机内存大小= java进程内存大小 - 堆大小,对吧?
本机内存是本机代码可以看到的所有内存。您可能希望排除堆。
如果是这样,为什么他们说最大可用空间是总可用系统内存
如果您没有操作系统或架构限制,例如
,则会出现这种情况32位java进程的最大大小仅限于2G左右?
最大值为4 GB,但在不同的操作系统上,操作系统使用部分虚拟内存。在Windows XP上,您只有1.2 - 1.5 GB。在某些UNIX上,32位进程可以使用3.0 - 3.5 GB