如何分析线程堆栈
1个回答
展开全部
Java线程堆栈是一个运行中的Java应用程序的所有线程的一个快照。它会显示一些像当前的堆栈跟踪、状态以及线程名称之类的信息。线程列表中包括由JVM本身创建的线程(负责垃圾收集、信号处理等管理工作)和由应用程序创建的线程。
通过给JVM发送一个SIGQUIT信号,您可以得到一个线程堆。在Unix操作系统(Solaris/Linux/HP-Unix等)中,通过kill-3<pid>命令可以得到线程堆,(在启动脚本中将输出重定向到文件中是一个很好的习惯,start.sh>trace.log 2>&1)。在Windows操作系统中,您可以在命令窗口键入ctrl-break得到线程堆。线程堆会输出到JVM的stdout或者stderr。输出出线程堆之后,应用程序继续正常运行。当您给JVM发送SIGQUIT信号时,JVM的信号处理器会通过输出线程堆来响应这一信号。当程序运行的时候,您可以在任何点得到线程堆。
通过给JVM发送一个SIGQUIT信号,您可以得到一个线程堆。在Unix操作系统(Solaris/Linux/HP-Unix等)中,通过kill-3<pid>命令可以得到线程堆,(在启动脚本中将输出重定向到文件中是一个很好的习惯,start.sh>trace.log 2>&1)。在Windows操作系统中,您可以在命令窗口键入ctrl-break得到线程堆。线程堆会输出到JVM的stdout或者stderr。输出出线程堆之后,应用程序继续正常运行。当您给JVM发送SIGQUIT信号时,JVM的信号处理器会通过输出线程堆来响应这一信号。当程序运行的时候,您可以在任何点得到线程堆。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询