2014-07-10 130 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?