主要垃圾收集是否需要JVM外部的内存?

时间:2014-05-21 00:10:13

标签: java garbage-collection jvm

在主要垃圾收集期间,机器是否需要超出JVM分配量的内存?

我问的原因是我们有一个带有6演出的ram的盒子,运行2个jvm,每个使用大约2.6 gigs的堆/内存。有时在主要垃圾收集(并发标记扫描和紧凑)之前,整个ram中只有几百兆的可用内存。

我只是想知道在这种情况下是否需要更多的ram,理论上。

1 个答案:

答案 0 :(得分:0)

“jvm使用大约2.6 gigs的堆/内存”。

看起来你的Xmx是2.6 GB。但是Xmx(堆内存)并不是JVM使用的唯一内存区域,因此1 JVM使用的内存将为2.6 +,您可能会觉得使用JVM之外的内存。

JVM内存包含以下几个部分:

  • 堆内存,它是Java对象的存储
  • 非堆内存,由Java用于存储加载的类和 其他元数据
  • JVM代码本身,JVM内部结构,加载的探查器代理代码 和数据等

Memory Structure

Details.