在Java 8中,元空间是从本机内存中分配出来的,但是我没有在网络上获得什么是本机内存?根据此链接,它是操作系统可用的内存,但在Java中元内存与本机内存的区别中,本机内存也显示为赋予JVM进程的内存的一部分。
示例:-,如果是,请考虑在windows上有15 GB内存的情况。我只有一个进程(Java )使用-Xmx 4GB在机器上运行。
这是否意味着操作系统可以使用到(15-4)=11 GB,从哪个元空间内存将被分配?
发布于 2016-10-25 14:02:27
元应用程序是否从本机内存中分配?
是。
资料来源:永久的
但是我在网上没有得到任何东西,什么是本地内存?
本机堆是malloc / free堆,它为JVM中以本机代码(C++)实现的部分提供动态内存。它也可以被JVM加载的用户提供的本机库使用。本机堆本身不是垃圾收集,但metaspace是垃圾。
使用本机堆来保存metaspace对象的一个好处是,本机堆不像Java堆那样具有固定的最大大小(默认情况下)。
如果是的话,考虑一下我在windows上有15 GB内存的情况。我只有一个进程()运行在具有-Xmx 4GB的机器上。这是否意味着操作系统可以使用最多(15-4)=11 GB的元空间内存?
也许:
ulimit的角色。)发布于 2016-10-25 14:02:39
本机内存是应用程序的正常内存。这被指定为由JVM管理的堆内存。例如,在C程序中,它被称为“内存”。
https://stackoverflow.com/questions/40241660
复制相似问题