VisualVM 配置 CPU 但 run() - 方法干扰

标签 visualvm

我分析了一个包含很多类的大型 jboss 服务器。当我分析 CPU 时,结果总是类似于 java.util.TimerThread.run() = 62% 和 java.util.concurrent.ThreadPoolExecutor$Worker.run() = 34,8%。
在这两种方法下,其他数千种方法为 0%。
我认为这是一个糟糕的错误,因为这些方法中的大多数都在这些线程中运行。但是我怎么看出来是哪一个...
ThreadDump - 函数对此也无用。

最佳答案

如果不知道代码的哪一部分慢,最好从CPU采样开始。一旦您更好地了解(基于采样结果)出了什么问题,您就可以只分析 jboss 服务器的一部分。见 Profiling With VisualVM, Part 1Profiling With VisualVM, Part 2获取有关分析以及如何设置分析根和检测过滤器的更多信息。

关于VisualVM 配置 CPU 但 run() - 方法干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9326113/

相关文章:

java - 如何使用 VisualVM 打开大型堆转储?

java - 如何在 Visualvm 中查看 Web 应用程序数据

IBM Websphere 中的 Java VisualVM JMX 连接

java - jvisualvm:卡在 “Loading Heap Dump...” 屏幕上

java - 这是 GAE 内存泄漏的证据吗?

java - 无法在 VisualVM 中查看 Visual GC

java - 堆空间错误: cannot figure out what is causing the error

Java VisualVM 堆空间转储到输出路径

EJB 应用程序的 Java 分析器

java - VisualVM 连接到本地 TomEE 非常慢,无法进行堆转储