You must have the correct operating system settings to ensure that the system dump (process core file) is generated when a failure occurs.
When a failure occurs, the most important diagnostic data to obtain is the system dump. The majority of the JVM settings are suitable by default but to ensure the system dump is generated on AIX®, you must check a number of operating system settings.
If you do not enable full core dumps the only native thread details stored in the system dump are the details for the thread that was running when the JVM crashed. With full core dumps enabled, all native thread details are stored in the system dump.
ulimit -c unlimited turn on corefiles with unlimited size ulimit -n unlimited allows an unlimited number of open file descriptors ulimit -d unlimited sets the user data limit to unlimited ulimit -f unlimited sets the file limit to unlimitedYou can display the current ulimit settings with:
ulimit -aThese values are the "soft" limit, and are applied for each user. These values cannot exceed the "hard" limit value. To display and change the hard limits, you can run the ulimit commands using the additional -H command-line option.
When the JVM generates a system dump it overrides the soft limit and uses the hard limit. You can disable the generation of system dumps by using the -Xdump:system:none command-line option.
chdev -l sys0 -a fullcore='true' -a pre430core='false'
To check that the JVM is set to produce a system dump when a failure occurs, run the following:
java -Xdump:whatwhich should include something like the following:
-Xdump:system: events=gpf+abort, label=/u/cbailey/core.%Y%m%d.%H%M%S.%pid.dmp, range=1..0, priority=999, request=serialAt least events=gpf must be set to generate a system dump when a failure occurs.
You can change and set options using the command-line option -Xdump, which is described in Using dump agents.