2

当我们在 Linux 上使用 $JAVA_HOME/bin/jstack 为 JBoss 4.2.3.GA 生成线程转储时......我们得到这个错误:

Can't create thread dump - Thread 745: (state = BLOCKED) Error occurred during stack walking) 

任何想法为什么会发生这种情况?我想也许有人在同时运行堆转储。还有其他想法吗?

4

1 回答 1

1

那时 GC 正在运行时,线程转储失败。

手头的问题使 GC 运行,这也是首先进行线程转储的原因。

我们采取了多种方法来解决这个问题。

  1. cron 作业每 5 分钟生成一次线程转储(这样当问题发生时,我们总是有一个描述 JVM 正在做什么的最近的线程转储)
  2. 在杀死进程时使用 kill -3。
于 2012-07-13T21:50:32.257 回答