[英]Neo4j GC overhead limit exceeded
我正在运行测试,并且出现“超出GC开销限制”错误。 我明白这是因为我在缓存中加载了太多原语。 我错了吗?
那么我的问题是,我们怎么能阻止自己呢? 例如,我们可以根据基元的数量来评估所需内存的大小吗? 是否有像近似知道它的提示?
我的老板想知道我们可以同时管理多少原语。 我假设它与JVM设置有关,但无法找到哪些设置。
对不起,如果这是一个愚蠢的问题,我不习惯JVM设置和性能,我对它大概缺乏了解。 虽然尝试并愿意理解!
吉米。
了解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 。
对我来说,它有助于在neo4j-wrapper.conf中添加/取消注释以下行:
wrapper.java.initmemory=4096
wrapper.java.maxmemory=4096
问题是RAM的大小。
您可以在Windows系统上的“C:\\ Program Files \\ Neo4j Community \\ neo4j-community-2.1.3 \\ conf”中找到此文件,例如
PS:关于还有什么可以帮助你的另一篇好文章( http://jexp.de/blog/2014/06/load-csv-into-neo4j-quickly-and-successfully/ )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.