Java Mission Control (JMC)使您可以监视和管理Java应用程序,而无需引入通常与这些类型的工具相关的性能开销。 它使用为正常的JVM动态优化而收集的数据,从而形成了一种非常轻量级的方法来观察和分析应用程序代码中的问题。 JMC由三种不同类型的工具组成。 使用JMX浏览器可以浏览机器上所有可用的JVM实例,还可以使用JMX控制台浏览连接的JVM上的JMX树。 最后但并非最不重要的一点是Java Flight Recorder(JFR)。 这正是工具的一部分,该工具执行JVM实例的低开销分析。
免责声明:有关许可的字词
该工具是Oracle JDK下载的一部分。 特别是,JMC 5.4是JDK 8u20和JDK 7u71的一部分,并且根据Java SE平台产品的Oracle二进制代码许可协议以及Java SE Advanced和Java SE Suite的商业可用功能进行分发。 IANAL,但据我所知,这允许您将其用于您的个人教育以及潜在地作为开发人员测试的一部分。 确保与您认识的可以回答此问题的人联系。 这篇博客文章只是一些小技巧,并假设您从许可证的角度知道自己在做什么。
添加Java可选参数
要解锁JFR功能,您需要在WildFly 8.x / EAP 6.x配置中输入一些可选参数。 找到$ JBOSS_HOME / bin / standalone.conf | conf.bat并添加以下参数:
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
现在,您可以使用此知识库条目中所述的jcmd命令来开始录制。 实际上,另一种方法是直接从JMC开始录制。
从JMC开始录制
第一步是启动JMC。 在%JAVA_HOME%/ bin文件夹中找到它。 启动后,您可以使用JVM浏览器查找要连接的WildFly / EAP实例。 右键单击它以查看所有可用选项。 您可以启动JMX控制台或启动Flight Recording。 JMX控制台比JConsole有点奇特,并且允许使用大量指标和统计信息。 它还允许您设置一堆触发器,浏览器MBean和其他功能。 请查看文档以获取所有详细信息。 真正有趣的是开始飞行记录的功能。 如果选择此选项,则会弹出一个新向导,让您稍微调整设置。 除了必须选择存储记录的文件夹之外,您还可以在不同的记录模板之间进行选择。
使用“服务器配置文件”模板进行的一分钟录制几乎不会对服务器造成任何负载,从而导致文件大小为1.5 MB。 因此,最好留意存储所有内容的容量。
您还可以在对话框的后面确定一堆参数的配置粒度。 但是最后,您单击“完成”,录制会话开始。 您可以决定将其推送到后台,并在捕获数据时继续工作。
分析飞行记录器文件
这很容易。 您可以使用JMC打开记录,然后单击结果。 如果使用附加参数启用了默认录制:
-XX:FlightRecorderOptions=defaultrecording=true
您还可以通过JVM浏览器直接转储记录。 选择要下载数据的时间范围很容易,或者也可以决定下载完整的记录。
翻译自: https://www.javacodegeeks.com/2014/12/running-java-mission-control-and-flight-recorder-against-wildfly-and-eap.html