我在 WebLogic 上部署了一个 Java EE 应用程序,我为其设置了监视计数器,并得到了以下结果:
实际上,我对这些计数器中的大多数都不熟悉,我已经阅读过其中的大多数内容,但我不知道如何确定我的应用程序的行为是好是坏。
我的问题是:
- 我如何知道我的表现是否良好(如果我的应用表现良好)?是否有任何具体数字可以开始比较系统行为。
- 我必须关注的最重要的计数器是什么?
- 任何可以帮助我理解此计数器的想法或文章。
注意:我的服务器计算机规范为:(操作系统:MS Windows server 2008,CPU:Core i7,RAM:16GB)
并且
JVM 参数(Xmx:4096,Xms:1024,-XX:MaxPermSize:1200,-XX:NewSize:1200)
提前致谢。
最佳答案
普通数字不像图表那样具有描述性。我建议您使用 JDK 中的 VisualVM 或 Java Mission Control 等工具。从 JDK 7 Update 40 开始,Mission Control 与 JDK 捆绑在一起。使用这些工具,您可以连接到任何本地或远程 JVM 进程。如果您要连接到远程 JVM,则应该通过 JVM 参数 -Dcom.sun.management.jmxremote.port=9010
启用 JMX
这些工具将允许您监控以下内容:
- CPU 使用率
- 内存使用情况
- 所有应用程序线程及其状态
- GC Activity
- 等等
所有这些特征都显示为动态变化的图表。此外,您可以通过 JMX bean 创建自己的控件并监视它们。例如,如果您为其创建 JMX bean,则可以监视 JDBC 连接池。
关于Java EE 应用程序计数器监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215091/