[英]Tool for debugging hangs in java application
我有一个java应用程序,有一半时间只是挂起,另一半JVM崩溃。 有没有一种工具可以用来查看发生了什么事情让它挂起和/或崩溃? 我正在使用CentOS 5.6
有两种不同的情况。
应用程序崩溃:这是一个OOM吗? NPE? 有什么例外? 如果有jvm崩溃你会看到hs_err_.log( http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf )
查看该文件,您可能会看到自己的JNI是否导致崩溃或JVM错误。
应用程序挂起:我将从visualvm或jstat开始(两者都是JDK的一部分)。 您可以查看当前的线程状态并检查是否存在任何应用程序错误。
其他可以帮助查看内部进程的linux工具 :
Oracle工具文档提供了非常简洁的列表。 它还链接特定于操作系统的工具
在这些情况下(挂起,冻结......),您必须分析堆转储以试图弄清楚应用程序中发生了什么,您可以使用JVisualVM来获取转储,或者您可以添加适当的JVM参数来转储在崩溃的情况下堆的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.