我正在尝试分析在 Windows 上运行的 Java UI 应用程序的 CPU 使用率。我将它连接到 VisualVM,但看起来 CPU 使用率最高的是
sum.rmi.transport.tcp.TCPTransport$ConnectionHandler.run();
我相信这被用来向 VisualVM 提供信息,因此 VisualVM 扭曲了我试图调查的结果。有没有人有办法更好地指示正在发生的事情,或者有更好的方法来确定正在运行的 Java 应用程序中是什么占用了如此多的 CPU。
最佳答案
首先尝试使用采样器。 有关详细信息,请使用探查器和设置根方法。参见 Profiling With VisualVM, Part 1和 Profiling With VisualVM, Part 2有关 CPU 和内存分析的更多信息。
关于Java Visual VM 倾斜 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517795/