JVM tuning
Tuning the application server is recommended as opposed to just using the default values assigned during an application server install. If the heap size is not managed or tuned, you may see the symptoms of poor memory management, which can vary from intermittent performance problems to the periodic failure and automatic restarts of the JVM, which may not generate a core dump or error.
What we can do is set JVM arguments to ensure that Java core dumps are executed when the JVM crashes. A Java core dump is similar to a Linux core dump, which contains processes and state of the OS system. However, a Java core dump only contains the processes and state of the JVM itself.
A JVM may crash due to hung threads or other internal JVM issues; it could be faulty code such as a bug, or many other scenarios like deadlocked code. A Java core dump is essentially a set of Java stack traces at the moment the error occurs, or when the core dump is manually issued. We cannot cover all the scenarios...