【发布时间】:2008-11-24 00:18:47
【问题描述】:
我看到的所有示例都是通过在命令行传递 JAR 文件的 Java SE 应用程序。 JConsole 可以附加到 WAR 或 EAR 并监控应用程序性能吗?
【问题讨论】:
标签: java jakarta-ee jmx jconsole
我看到的所有示例都是通过在命令行传递 JAR 文件的 Java SE 应用程序。 JConsole 可以附加到 WAR 或 EAR 并监控应用程序性能吗?
【问题讨论】:
标签: java jakarta-ee jmx jconsole
JConsole 用于监控 JVM。我假设您想监控应用程序服务器的性能。为此,您必须在初始化应用程序服务器时设置 com.sun.management.jmxremote 属性。
例如,在 Tomcat 中(我知道这不是一个完整的 Java EE 容器),您可以将容器启动为:
>startup.bat -Dcom.sun.management.jmxremote
然后您可以将 JConsole 作为独立应用程序启动
>jconsole
然后将 jconsole 附加到运行 Tomcat 的 Java 进程。 类似的步骤适用于其他应用服务器。
【讨论】:
如果您使用的是 Tomcat,您应该尝试lambda probe。这是一个 war 文件,一旦安装在 tomcat 上,就可以启用具有与 jconsole 类似的监控功能的 web 应用程序。
在 lambda probe web 上也有 JBoss 下载,不过我只在 tomcat 上测试过。
【讨论】:
如前所述,jconsole 监控 JVM,即整个应用程序服务器实例,而不是部署为 war 或 ear 的特定 Web 应用程序。
如果您正在寻找更细粒度的网络应用程序性能监控,您可以尝试查看像 JAMon 这样的工具。
【讨论】: