Encountered a bizarre issue the other day where the JVM crashed before the program fully started (after a power failure). Looks like the program is running out of memory (most likely heap memory), however the issue might be on the JVM side. Noticed when jps was being run that a pthread error message appeared (something about running out of memory), which was only resolved by terminating the java process before running jps again.
What resources are available for memory profiling a JVM application? Is it possible to remotely profile a JVM application via SSH?