Java diagnostic information
In addition to the tools listed in the previous section, the JVM can provide additional diagnostic information in response to certain events.
Garbage collection diagnostic information
You can enable the JVM debugging options to track garbage collection data for your system. The options can impact JVM performance, but they provide valuable data to tune your server when troubleshooting garbage collection issues. While the jstat
utility with the -gc
option can be used to obtain some information about garbage collection activity, there are additional arguments that can be added to the JVM to use when running the server to provide additional detail.
-XX:+PrintGCDetails -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps
To run the server with these options, edit the config/java.properties
file and add them to the end of the line that begins with "bin/start-server.java-args
". After the file has been saved, invoke the following command to make those new arguments take effect the next time the server is started:
$ bin/dsjavaproperties
JVM crash diagnostic information
If the JVM itself should happen to crash for some reason, then it generates a fatal error log with information about the state of the JVM at the time of the crash. By default, this file is named hs_err_pid{processID}.log
and is written into the base directory of the PingDirectory server installation. This file includes information on the underlying cause of the JVM crash, information about the threads running and Java heap at the time of the crash, the options provided to the JVM, environment variables that were set, and information about the underlying system.