我正在运行测试,并且出现“超出GC开销限制”错误。 我明白这是因为我在缓存中加载了太多原语。我错了吗?
我的问题是,我们怎样才能阻止自己呢? 例如,我们可以根据基元的数量来评估所需内存的大小吗?是否有一个近似知道它的提示?
我的老板想知道我们可以同时管理多少原语。 我认为它与JVM设置有关,但无法找到找到哪些设置。
很抱歉,如果这是一个愚蠢的问题,我不习惯JVM设置和性能,我对它有很大的缺乏知识。虽然尝试并愿意理解!
麦
答案 0 :(得分:0)
了解Java垃圾收集的细节到目前为止并非易事。既然你的问题很不明确,我也可以提供一个相当不明确的答案。 JVM设置的Neo4j参考手册中有一节http://docs.neo4j.org/chunked/stable/configuration-jvm.html。
取决于图形和堆大小的另一个想法是更改对象缓存的实现类型。有一个soft
(社区版中默认),weak
和strong
缓存实施。此外,企业版附带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/)。