If you are having issues with Garbage Collection (too many pauses, too long of a pause, pauses causing cluster re-election, etc), you should look at enabling GC logging.
Keep in mind the following regarding GC logging:
- GC log files are cleared out when the database is restarted.
- There is a small additional load on the system when this logging is enabled.
- Only enable this to investigate GC issues/impact, and then disable.
For Neo4j 2.x releases
Uncomment these lines in
#wrapper.java.additional=-Xloggc:data/log/neo4j-gc.log #wrapper.java.additional=-XX:+PrintGCDetails #wrapper.java.additional=-XX:+PrintGCDateStamps #wrapper.java.additional=-XX:+PrintGCApplicationStoppedTime #wrapper.java.additional=-XX:+PrintTenuringDistribution
And add this line:
The log file will be written to: data/log/neo4j-gc.log
For Neo4j 3.x releases
Uncomment these lines below in
conf/neo4j.conf that are prefaced by # dbms.:
# To enable GC Logging, uncomment this line # dbms.logs.gc.enabled=true # GC Logging Options # see http://docs.oracle.com/cd/E19957-01/819-0084-10/pt_tuningjava.html#wp57013 for more information. #dbms.logs.gc.options=-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution # Number of GC logs to keep. # dbms.logs.gc.rotation.keep_number=5 # Size of each GC log that is kept. # dbms.logs.gc.rotation.size=20m ---- The log file will be written to the logs directory as specified by [here](https://neo4j.com/docs/operations-manual/current/configuration/file-locations/) and named `gc.log.<#>` Save the file and restart your server.