如何在ColdFusion(tomcat)中使用Java Mission Control(或其他解决方案)

时间:2014-07-07 15:37:25

标签: coldfusion

ColdFusion监视器非常适合有关服务器本身的详细信息,但它在JVM方面非常有限。

在开发和测试应用程序和功能的性能/内存占用时,如何实现Java Mission Control或类似的JVM监视解决方案来监视运行ColdFusion的JVM?

请注意,我正在问这个问题,以及社区知识"并已经知道答案,但随时可以提供有关其他监控解决方案的任何花絮。

1 个答案:

答案 0 :(得分:11)

任务控制曾经在JRockit JDK中捆绑,就像它自己的实用程序一样。 Hotspot和JRockit是两个完全不同的JVM,它们有自己的JDK / JRE。默认情况下,ColdFusion使用HotSpot JVM。 JRockit基本上已经从新开发中解散,其中一些功能被合并到HotSpot中。

Java Mission Control可免费用于开发目的。

开始使用,下载最新的1.8 JDK。我的首选是卸载此时安装的所有其他64位JDK和JRE。

  1. 可能不需要此步骤。更改环境变量以更新JAVA主页。

    一个。右键单击“我的电脑” - > “属性” - > “高级” - > “环境变量”

    湾将JAVA_HOME和任何其他JAVA变量更改为新路径

  2. 调整你的jvm.config

    一个。制作C:\ ColdFusion1x \ cfusion \ bin \ jvm.config的.bak副本

    湾将以下行添加到jvm.config

    -XX:+ UnlockCommercialFeatures

    -XX:+ FlightRecorder

    -Dcom.sun.management.jmxremote.autodiscovery =真

    -Dcom.sun.management.jdp.name = ColdFusion10

    -Dcom.sun.management.jmxremote.authenticate =假

    -Dcom.sun.management.jmxremote.port = 7091

    -Dcom.sun.management.jmxremote.ssl =假

  3. 使用管理员权限打开C:\ program files \ java \ jdk1.8 _ ** \ lib \ missioncontrol \ configuration \ org.eclipse.equinox.simpleconfigurator \ bundles.info文件,并删除以...开头的四行以下文字:

    org.eclipse.equinox.log.nl_ja
    
    org.eclipse.equinox.log.nl_zh
    
    org.eclipse.equinox.supplement.nl_ja
    
    org.eclipse.equinox.supplement.nl_zh
    
  4. 编辑C:\ program files \ java \ jdk1.8_xx \ lib \ missioncontrol \ configuration \ config.ini,并添加以下行:eclipse.home.location = $ osgi.install.area $ < / p>

  5. 启动:C:\ program files \ java \ jdk_1.8.0 _ ** \ bin \ jmc     请注意,当您的ColdFusion实例与您使用ColdFusion更新程序安装的最新Hotspot版本一起运行时,JMC将从1.8启动。

  6. 您可以从帮助中安装插件 - &gt;安装新软件。插件网站应该已经存在。这将为您提供堆转储的内存分析。它不如JRockit内存分析器好,但它总比没有好。

  7. 如果您将ColdFusion作为Windows服务运行,则需要打开services.msc并关闭ColdFusion Application Server。然后打开C:\ ColdFusion10 \ cfusion \ bin \ cfstart.bat以将Tomcat和ColdFusion作为前台应用程序启动。当作为Windows服务运行时,jOverflow插件将无法运行。

  8. 你会看到你的JVM出现在Java Mission Control中,我的是调用-Xdebug,因为我猜它没有名字,并从第一个选项开始。

  9. 右键单击ColdFusion JVM并选择“启动JMX控制台”。您将在右侧看到如下所示的内容:

  10. Image capture of Java Mission Control

    1. 有很多东西要探索,包括很多垃圾,因为必须筛选ColdFusion框架本身,但是有很多教程可以解读它的含义。     此视频是您的主要介绍:https://www.youtube.com/watch?v=WMEpRUgp9Y4

    2. 参考文献:

      https://www.youtube.com/watch?v=WMEpRUgp9Y4

      http://www.ghidinelli.com/2009/07/16/finding-memory-leaks-coldfusion-jvm

      http://www.oracle.com/technetwork/java/javase/jmc53-release-notes-2157171.html(请参阅“已知问题”部分)