我正在運行測試,並且出現「超出GC開銷限制」錯誤。 我知道這是因爲我在緩存中加載了太多的原語。我錯了嗎?Neo4j超出GC開銷限制
那麼我的問題是,我們該如何防止自己呢? 例如,我們可以根據原語的數量來評估所需內存的大小嗎?有沒有像提示大致瞭解它?
我的老闆想知道我們可以同時管理多少個基元。 我認爲它與JVM設置有關,但無法找到哪些設置。
對不起,如果它是愚蠢的問題,我不習慣JVM的設置和性能,我有一個相當大的缺乏對atm的知識缺乏。嘗試並願意理解,但!
吉米。
我正在運行測試,並且出現「超出GC開銷限制」錯誤。 我知道這是因爲我在緩存中加載了太多的原語。我錯了嗎?Neo4j超出GC開銷限制
那麼我的問題是,我們該如何防止自己呢? 例如,我們可以根據原語的數量來評估所需內存的大小嗎?有沒有像提示大致瞭解它?
我的老闆想知道我們可以同時管理多少個基元。 我認爲它與JVM設置有關,但無法找到哪些設置。
對不起,如果它是愚蠢的問題,我不習慣JVM的設置和性能,我有一個相當大的缺乏對atm的知識缺乏。嘗試並願意理解,但!
吉米。
瞭解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」中找到此文件。另一篇好文章還有什麼可以幫助你(http://jexp.de/blog/2014/06/load-csv-into-neo4j-quickly-and-successfully/)。
你試過用更多的內存運行你的java進程嗎?你的機器有多少內存?您可能想嘗試添加「-Xms1g」作爲VM參數或分配更多內存。 – tstorms