有两种不同的情况。
应用程序崩溃:
是OOM吗?NPE?有什么例外?如果发生了jvm崩溃,您将看到hs_err_.log(http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf)
查看文件,您可能会发现自己的JNI是否导致崩溃或JVM错误。
应用程序挂起: 我将从visualvm或jstat开始(两者都是JDK的一部分)。您可以查看线程的当前状态,并检查是否存在任何应用程序错误。
其他 有助于查看内部进程的 linux工具 :
- lsof:您可以检查进程是否打开了太多文件
- strace:从系统调用的角度查看当前活动。
Oracle工具文档提供了简洁明了的清单。它还链接了特定于操作系统的工具



