2014-02-06 93 views
6

我正在運行測試,並且出現「超出GC開銷限制」錯誤。 我知道這是因爲我在緩存中加載了太多的原語。我錯了嗎?Neo4j超出GC開銷限制

那麼我的問題是,我們該如何防止自己呢? 例如,我們可以根據原語的數量來評估所需內存的大小嗎?有沒有像提示大致瞭解它?

我的老闆想知道我們可以同時管理多少個基元。 我認爲它與JVM設置有關,但無法找到哪些設置。

對不起,如果它是愚蠢的問題,我不習慣JVM的設置和性能,我有一個相當大的缺乏對atm的知識缺乏。嘗試並願意理解,但!

吉米。

+0

你試過用更多的內存運行你的java進程嗎?你的機器有多少內存?您可能想嘗試添加「-Xms1g」作爲VM參數或分配更多內存。 – tstorms

回答

1

瞭解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

0

對我來說是幫助在的Neo4j-wrapper.conf添加/取消以下行:

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

的問題是RAM的大小。

您可以在Windows系統上的「C:\ Program Files \ Neo4j Community \ neo4j-community-2.1.3 \ conf」中找到此文件。另一篇好文章還有什麼可以幫助你(http://jexp.de/blog/2014/06/load-csv-into-neo4j-quickly-and-successfully/)。

相關問題