【问题标题】:Rexster/Rexpro : RexProScriptException: .. java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen spaceRexster/Rexpro:RexProScriptException:.. java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:PermGen 空间
【发布时间】:2015-06-28 11:35:11
【问题描述】:

我在 Cassandra 和 Elasticsearch 上使用 TITAN-0.4.3、REXSTER 2.4。 我从 Python 调用 rexpro。在单个 gremlin 请求中,我尝试添加 100 个顶点并提交。我能够在 400 多个 gremlin 请求中成功添加 40000 多个顶点。但是在那之后,我得到了例外:

Encountered a RexProScriptException: An error occurred while processing the script for language [groov
    y]. All transactions across all graphs in the session have been concluded with failure: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

Rexster.sh [JVM 堆大小] 我试图增加堆内存,但在插入了几批顶点后仍然抛出异常。

# Set Java options
if [ "$JAVA_OPTIONS" = "" ] ; then
    JAVA_OPTIONS="-Xms256m -Xmx1024m"
fi

请指教

【问题讨论】:

    标签: graph-databases titan rexster


    【解决方案1】:

    只是根据您提供的信息进行的猜测,但是.....如果您没有参数化您发送的脚本,PermGen 错误通常会出现在 Rexster 中。我知道的大多数 python 库都支持该功能。您可以在此处阅读有关此问题的更多信息:

    https://github.com/tinkerpop/rexster/issues/143

    如果您四处搜索,则会在 gremlin 用户邮件列表中的其他位置。如果由于某种原因您无法参数化,那么您可以更改此 JVM 设置:

    -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512M
    

    但我认为这是最后的手段。参数化不仅可以解决您的问题,还可以大大加快您的数据加载过程。

    【讨论】:

    • 它就像一个魅力.. !!!!还提高了脚本参数化的性能(增加的速度)。荣誉@stephenmalette
    猜你喜欢
    • 2013-12-01
    • 2014-07-09
    • 2015-02-15
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 2016-03-09
    • 2014-11-27
    • 2013-09-29
    相关资源
    最近更新 更多