Java - 没有可用的堆栈跟踪

时间:2011-04-27 17:45:04

标签: java performance jvm stack-trace

我的应用程序消耗100%的CPU - 超出200%。当我通过调用Thread.getAllStackTraces()kill -3来创建线程转储时,我发现有些线程占用了大量的CPU时间,但是它们的堆栈跟踪不可用。 CPU分析时不会显示它们。

主题是:HandshakeCompletedNotify-ThreadKeep-Alive-Timerprocess reaper。然而,他们的堆栈跟踪不可用。

根据我的理解,

Keep-Alive-TimerHandshakeCompletedNotify-Thread不应该是原生的。另外,我们在jre。中的java.policy或java.security文件中没有特殊权限。

如何获取这些线程的堆栈跟踪以解决高CPU消耗?

1 个答案:

答案 0 :(得分:0)

使用visual vm

等分析工具

它具有CPU采样和分析支持,以显示CPU消耗的位置。