简体   繁体   English

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

[英]Gridgain: java.lang.OutOfMemoryError: GC overhead limit exceeded

I'm trying to set up a Gridgain cluster with 2 servers. 我试图建立一个包含2个服务器的Gridgain集群。

  1. Load data from a .csv file (1 million to 50 million data) to the Gridgain using GridDataLoader . 使用GridDataLoader将.csv文件中的数据(100万至5000万个数据)加载到Gridgain。

  2. Find the min, max, average, etc. from the data loaded, 从加载的数据中找到最小值,最大值,平均值等,

When running as a standalone application in eclipse I'm getting correct output. 当在Eclipse中作为独立应用程序运行时,我得到正确的输出。

But while making a cluster (2 nodes in the 2 servers + 1 node inside my eclipse environment), I'm getting java.lang.OutOfMemoryError: GC overhead limit exceeded error. 但是,当建立一个集群(eclipse环境中的2个服务器中的2个节点+我的Eclipse环境中的1个节点)时,我遇到了java.lang.OutOfMemoryError:GC开销限制超出错误。

The configuration file I'm using is http://pastebin.com/LUa7gxbe 我正在使用的配置文件是http://pastebin.com/LUa7gxbe

Changing eclipse.ini's Xmx property might solve the problem. 更改eclipse.ini的Xmx属性可以解决此问题。 Change it to -Xmx3g 将其更改为-Xmx3g

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

This error happens when the system spends too much time executing garbage collection. 当系统花太多时间执行垃圾回收时,会发生此错误。 There can be multiple causes, it is highly related to your environment details. 可能有多种原因,这与您的环境详细信息高度相关。 I don't know Gridgain. 我不知道Gridgain。 Because of your complex environment, I think about VM tuning: if your application waits for the whole memory to be full before running garbage collection, here is your main problem. 由于环境复杂,我考虑进行VM调整:如果您的应用程序在运行垃圾回收之前等待整个内存已满,那么这就是您的主要问题。

A hint can be the -XX:-UseParallelGC JVM option (some documentation is available here ), but it should be the default conf in Grigain. 提示可以是-XX:-UseParallelGC JVM选项( 此处提供一些文档),但是它应该是Grigain中的默认conf I don't understand the proper way to configure vm options in your environment ( some options seem to be related to the cache). 我不了解在您的环境中配置vm选项的正确方法( 某些选项似乎与缓存有关)。 According to the same doc, a slow network could induce a low CPU. 根据同一文档,网络速度慢可能会导致CPU不足。 I guess a high network could induce a high CPU (perhaps related to GC) ? 我猜一个高网络会导致一个高CPU(也许与GC相关)? To ensure you have an appropriate VM configuration, could you check the options applied when running ? 为了确保您具有适当的VM配置,可以检查运行时应用的选项吗?

Edit the bin/ggstart.sh script, set the JVM_OPTS to a higher value. 编辑bin / ggstart.sh脚本,将JVM_OPTS设置为更高的值。 Default is 1 GB, 默认值为1 GB,

Change it to JVM_OPTS="-Xms2g -Xmx2g -server -XX:+AggressiveOpts -XX:MaxPermSize=256m" or higher 将其更改为JVM_OPTS =“-Xms2g -Xmx2g -server -XX:+ AggressiveOpts -XX:MaxPermSize = 256m”或更高

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java PreparedStatement java.lang.OutOfMemoryError:超出了GC开销限制 - Java PreparedStatement java.lang.OutOfMemoryError: GC overhead limit exceeded 詹金斯 java.lang.OutOfMemoryError:超出 GC 开销限制 - Jenkins java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError:GC开销限制超出了android studio - java.lang.OutOfMemoryError: GC overhead limit exceeded android studio Spark失败了java.lang.OutOfMemoryError:超出了GC开销限制? - Spark fails with java.lang.OutOfMemoryError: GC overhead limit exceeded? SonarQube java.lang.OutOfMemoryError:超出了GC开销限制 - SonarQube java.lang.OutOfMemoryError: GC overhead limit exceeded Tomcat java.lang.OutOfMemoryError:超出了GC开销限制 - Tomcat java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError:超出 GC 开销限制 - java.lang.OutOfMemoryError: GC overhead limit exceeded 超出Junit java.lang.OutOfMemoryError GC开销限制 - Junit java.lang.OutOfMemoryError GC overhead limit exceeded 获取错误:java.lang.OutOfMemoryError:超出了GC开销限制 - Getting Error:java.lang.OutOfMemoryError: GC overhead limit exceeded 获取java.lang.OutOfMemoryError:Jboss中超出了GC开销限制 - Getting java.lang.OutOfMemoryError: GC overhead limit exceeded in Jboss
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM