我面临着一个奇怪的案例。如果你能分享你的意见,我很高兴。
我们有在Java 1.6.085上运行的解决方案,有时Java进程正在生产中。解决方案在Linux服务器上运行 我研究了GC日志,没有Full GC。暂停时间也看起来合理。 然后我们尝试在情况发生时进行线程转储,但是kill -3,。/ jstack或./jstack -F不起作用。不能进行任何线程转储。可能是什么原因?关于调查这个问题的任何想法?
BR -emre
答案 0 :(得分:1)
经过一段时间后,可以理解由于pstack和qdb命令而出现问题,这些命令是出于操作目的在java进程上执行的。不知怎的,pstack和qdb挂起了java进程。因此我们无法进行线程或堆转储
答案 1 :(得分:0)
我们正在使用带有topthreads plugin的jConsole来分析此类案例。该插件使用JMX检查线程运行时,并显示自跟踪过程开始以来的CPU使用情况以及每个线程的当前堆栈跟踪。
要从本地计算机连接我们的服务器,我们在putty中使用隧道,即我们首先通过putty连接到服务器,然后将jConsole连接到通过隧道连接到服务器的本地端口。