2014-07-10 184 views
0

我想在GridGain緩存中加載大約600MB的數據,我嘗試使用交換空間來減少我的RAM上的負載。我正在從CSV文件加載數據。我加載內存中的第一個10000個密鑰,然後將其餘的加載到交換空間中。我能夠加載1350000個按鍵,但之後我得到以下錯誤:GridGain內存不足異常

[16:58:34,701][SEVERE][exchange-worker-#54%null%][GridWorker] Runtime error caught during grid runnable execution: GridWorker [name=partition-exchanger, gridName=null, finished=false, isCancelled=false, hashCode=20495511, interrupted=false, runner=exchange-worker-#54%null%] 
java.lang.OutOfMemoryError: Java heap space 
    at java.util.HashMap.resize(HashMap.java:559) 
    at java.util.HashMap.addEntry(HashMap.java:851) 
    at java.util.HashMap.put(HashMap.java:484) 
    . 
    . 
    . 
    at java.lang.Thread.run(Thread.java:722) 

GridGain node stopped OK [uptime=00:21:14:384] 

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 

回答

0

我認爲你顯然已經沒有了堆空間。爲了使交換空間得到利用,您應該配置逐出策略。有關如何配置Swap和OffHeap空間的更多信息,請參閱OffHeap Memory文檔。

此外,在這篇文章中還有一些關於內存使用情況的解釋:Can I reduce the space of my cache memory?