Java Visual VM 扭曲 CPU
我正在尝试分析 Windows 上运行的 Java UI 应用程序的 CPU 使用情况。我将其连接到 VisualVM,但看起来 CPU 使用率的最高百分比正在被使用,
sum.rmi.transport.tcp.TCPTransport$ConnectionHandler.run();
我相信这被用来向 VisualVM 提供信息,因此 VisualVM 扭曲了我试图调查的结果。是否有人有一种方法可以更好地指示正在发生的情况,或者有更好的方法来确定正在运行的 java 应用程序中的内容占用了如此多的 CPU。
i am trying to analyze the CPU usage for a Java UI application running on Windows. I connected it to VisualVM, but it looks like the highest percentage for CPU usage is being used by
sum.rmi.transport.tcp.TCPTransport$ConnectionHandler.run();
I believe this is being used to supply information to VisualVM and hence VisualVM is skewing the results that i'm trying to investigate. Does any one have a way to get a better indication of what is occurring or a better method to determine what in a running java application is taking up so much CPU.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先尝试使用采样器。
有关详细信息,请使用探查器和设置根方法。请参阅使用 VisualVM 进行分析,第 1 部分和使用 VisualVM 进行分析,第 2 部分,了解有关 CPU 和内存分析的更多信息。
Try to use sampler first.
For detailed information use the profiler and set root methods. See Profiling With VisualVM, Part 1 and Profiling With VisualVM, Part 2 for more information about CPU and Memory profiling.
这听起来非常可疑。尝试将数据与 hprof 的结果进行交叉引用。您不需要运行任何外部应用程序,数据将简单地从您自己的进程转储到文本文件中。您是否远程连接到您的流程?
That sounds awfully suspicious. Try cross referencing the data with results from hprof. You won't need any external applications running, and the data will simply be dumped to a text file from your own process. Are you connecting to your process remotely?