Hadoop jvm进程挂起,没有任何错误消息, 我想看看JVM进程正在做什么(它们被卡住的地方)。
当我使用C ++编程时,我使用了可以附加到正在运行的进程的GDB并显示了线程的调用堆栈。
我如何为JVM做同样的事情?
答案 0 :(得分:1)
您可以使用以下命令
kill -3 [PID]
这会将所有线程的堆栈跟踪打印到java进程的控制台。另一种选择是使用与jdk捆绑在一起的 jstack 实用程序。 Jstack做同样的事情。
如果没有用,那么分析师应该提供帮助。他们可以收集比一个线程转储更多的数据。