2016-12-01 45 views
1

我正在运行Apache Ignite应用程序。当我看到使用linux free的内存使用情况时,我正在使用9.8 GB的内存。但是当我使用eclipse MAT进行堆转储时,它的大小只有大约1.8 GB。这是为什么发生?在点燃中分配的默认堆内存为21 GB。我也没有做过任何GC调整。应用程序使用的内存大于实际堆转储大小

+0

可能的重复:http://stackoverflow.com/questions/561245/virtual-memory-usage-from-java-under-linux-too-much-memory-used – PeterMmm

回答

1

当Eclipse采用堆转储时,它很可能会强制完全垃圾回收,因此您只能看到实际存在于内存中的对象。 JVM本身不会这样做,因为堆非常大,并且仍有大量可用内存。顺便说一句,这将最终发生,使您的Ignite节点在很长一段时间内无响应。我建议不要为每个节点分配10-12GB以上的空间。

相关问题