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

我正在尝试使用2台服务器建立一个Gridgain集群。

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

  2. 从加载的数据中找出最小值,最大值,平均值等,

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

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

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

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

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

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

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

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

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