Gridgain:java.lang.OutOfMemoryError:超出了GC开销限制
我正在尝试使用2台服务器建立一个Gridgain集群。
-
使用GridDataLoader将.csv文件(100万到5000万个数据)中的数据加载到Gridgain。
-
从加载的数据中找出最小值,最大值,平均值等,
当在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”或更高