我的应用程序消耗100%的CPU - 超出200%。当我通过调用Thread.getAllStackTraces()
或kill -3
来创建线程转储时,我发现有些线程占用了大量的CPU时间,但是它们的堆栈跟踪不可用。 CPU分析时不会显示它们。
主题是:HandshakeCompletedNotify-Thread
,Keep-Alive-Timer
和process reaper
。然而,他们的堆栈跟踪不可用。
Keep-Alive-Timer
和HandshakeCompletedNotify-Thread
不应该是原生的。另外,我们在jre。中的java.policy或java.security文件中没有特殊权限。
如何获取这些线程的堆栈跟踪以解决高CPU消耗?