2014-11-17 128 views
0

我試圖建立一個2臺服務器的Gridgain集羣。從使用GridDataLoader .csv文件(1萬〜5000萬個數據)到GridgainGridgain:java.lang.OutOfMemoryError:超出GC開銷限制

  1. 負載數據。

  2. 找到最小值,最大值,平均值等從加載的數據,

當在Eclipse中我得到正確的輸出一個獨立的應用程序運行。

但是在創建羣集時(在我的eclipse環境中的2個服務器+ 1節點中的2個節點),我得到java.lang.OutOfMemoryError:GC開銷限制超出錯誤。

我使用的配置文件是http://pastebin.com/LUa7gxbe

回答

1

更改的eclipse.ini的XMX屬性可能會解決這個問題。 將其更改爲-Xmx3g

+0

我沒有得到這個錯誤,當我在Eclipse中運行程序。只有當我把它做成一個集羣。 – Anju

0

java.lang.OutOfMemoryError:GC限制開銷超過

時系統花費了太多的時間執行垃圾收集發生此錯誤。可能有多種原因,它與您的環境細節高度相關。我不知道Gridgain。由於您的環境複雜,我考慮了VM調優:如果您的應用程序在運行垃圾回收之前等待整個內存已滿,那麼這是您的主要問題。

一個提示可以是-XX:-UseParallelGC JVM選項(有些文檔可here),但它應該是在Grigain的default conf。我不明白在您的環境中配置虛擬機選項的正確方法(緩存中的some options seem to be related)。根據相同的文檔,一個緩慢的網絡可能會導致較低的CPU。我猜高網絡可能導致高CPU(可能與GC有關)?爲確保您有適當的虛擬機配置,您可以檢查運行時應用的選項嗎?

0

編輯bin/ggstart.sh腳本,將JVM_OPTS設置爲更高的值。 默認爲1 GB,

其更改爲 JVM_OPTS = 「 - Xms2g -Xmx2g -server -XX:+ AggressiveOpts -XX:MaxPermSize參數=256米」 或更高

相關問題