Gridgain:java.lang.OutOfMemoryError:超出了GC开销限制

时间:2014-11-17 07:19:34

标签: java eclipse garbage-collection gridgain

我正在尝试使用2台服务器设置Gridgain集群。

  1. 使用 GridDataLoader 将数据从.csv文件(100万到5000万数据)加载到Gridgain。

  2. 从加载的数据

  3. 中查找最小值,最大值,平均值等

    在eclipse中作为独立应用程序运行时,我得到了正确的输出。

    但是在创建集群时(2个服务器中的2个节点+我的eclipse环境中的1个节点),我得到 java.lang.OutOfMemoryError:GC开销限制超出错误。< / p>

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

3 个答案:

答案 0 :(得分:1)

更改eclipse.ini的Xmx属性可能会解决问题。 将其更改为-Xmx3g

答案 1 :(得分:0)

java.lang.OutOfMemoryError:超出GC限制开销

当系统花费太多时间执行垃圾收集时会发生此错误。可能有多种原因,它与您的环境详细信息高度相关。我不知道Gridgain。由于您的环境复杂,我考虑VM调优:如果您的应用程序在运行垃圾收集之前等待整个内存已满,这是您的主要问题。

提示可以是 -XX:-UseParallelGC JVM选项(某些文档可用here),但它应该是Grigain中的default conf。我不明白在您的环境中配置vm选项的正确方法(some options seem to be related到缓存)。根据同一文档,慢速网络可能会导致低CPU。我猜一个高网络可能会导致高CPU(可能与GC有关)?为确保您拥有适当的VM配置,您可以检查运行时应用的选项吗?

答案 2 :(得分:0)

编辑bin / ggstart.sh脚本,将JVM_OPTS设置为更高的值。 默认值为1 GB,

将其更改为 JVM_OPTS =“ - Xms2g -Xmx2g -server -XX:+ AggressiveOpts -XX:MaxPermSize = 256m” 或更高