有趣的是,VisualVM本身并不提供“Profile”选项卡:
是什么控制了特定程序显示哪些选项卡?我如何将它们全部恢复,以便我的程序显示概述和监视器?
我使用的是Visual VM 1.3.5(截至本文日期最新版本)和JDK 1.7.0_17。
有趣的是,VisualVM本身并不提供“Profile”选项卡:
我发现这是使用错误JDK版本的问题。在我的情况下,我的应用程序正在运行64位JDK,而我从32位JDK启动了VisualVM。 如果从与我的应用程序相同的JDK启动VisualVM,则一切正常。希望这能帮到你。
你可能需要在应用程序上启用JMX端口。尝试将以下开关添加到您的VM中,看看是否再次出现选项卡:
-Dcom.sun.management.jmxremote.port=6789 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
正如大多数人提到的那样, 问题是由于virtualvm版本不匹配您的应用程序引起的。
此外, visualvm包含在支持JDK 9及以下版本的Oracle中。 如果您使用的是>9,请确保选择另一个分析工具。
org.apache.catalina.startup.**
指定为起始类。如果您正在运行本地应用程序,请检查代理是否已禁用,然后再运行VisualVM。
我曾经遇到过类似的问题,VisualVM中的性能分析器选项卡失踪了。我使用的是Oracle JDK 1.8,想要对运行在Tomcat 8上的Web应用程序进行性能分析(包括JPA、Spring、Hibernate、Vaadin等)。
我尝试了所有提到的解决方案和其他许多在网上找到的方法,但遗憾的是,它们都未能解决缺失性能分析器选项卡问题。
因此,我转而使用Java Mission Control (JMC + Flight Recorder)性能分析工具,这是标准Oracle JDK的一部分(从JDK 1.7更新40开始),它非常好用。