2016-12-01 66 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以上的空間。

相關問題