超过了Neo4j GC开销限制

时间:2014-02-06 07:32:32

标签: caching memory neo4j

我正在运行测试,并且出现“超出GC开销限制”错误。 我明白这是因为我在缓存中加载了太多原语。我错了吗?

我的问题是,我们怎样才能阻止自己呢? 例如,我们可以根据基元的数量来评估所需内存的大小吗?是否有一个近似知道它的提示?

我的老板想知道我们可以同时管理多少原语。 我认为它与JVM设置有关,但无法找到找到哪些设置。

很抱歉,如果这是一个愚蠢的问题,我不习惯JVM设置和性能,我对它有很大的缺乏知识。虽然尝试并愿意理解!

2 个答案:

答案 0 :(得分:0)

了解Java垃圾收集的细节到目前为止并非易事。既然你的问题很不明确,我也可以提供一个相当不明确的答案。 JVM设置的Neo4j参考手册中有一节http://docs.neo4j.org/chunked/stable/configuration-jvm.html

取决于图形和堆大小的另一个想法是更改对象缓存的实现类型。有一个soft(社区版中默认),weakstrong缓存实施。此外,企业版附带hpc(高性能缓存)实现,通过动态调整缓存大小,显着减少了完整垃圾收集的数量。更多阅读http://docs.neo4j.org/chunked/stable/configuration-caches.html#_object_cache

答案 1 :(得分:0)

对我而言,它有助于在 neo4j-wrapper.conf 中添加/取消注释以下行:

wrapper.java.initmemory=4096
wrapper.java.maxmemory=4096

问题是RAM大小。

您可以在" C:\ Program Files \ Neo4j社区\ neo4j-community-2.1.3 \ conf"中找到此文件。在Windows系统上,例如

PS:关于还有什么可以帮助你的另一篇好文章(http://jexp.de/blog/2014/06/load-csv-into-neo4j-quickly-and-successfully/)。