-6

我想监控 java webapplication 但不知道如何监控。

  1. 我可以通过 window 中的 perfmon 或 linux 中的 ps -ef 监控的 Jave 工作进程/线程名称是什么?

  2. 如何监控 Java 工作线程池?

  3. 如何监控 JVM 以及我应该监控什么计数器?

谢谢

4

3 回答 3

2

对于任何 Java 进程,请尝试 JVisualVM。如果您需要特定于网络的内容,则必须提供更多详细信息

于 2013-05-09T22:46:39.393 回答
1

有很多工具可以做到这一点。请看一下JDK附带的jvisualvm作为其中之一。

Java 进程名称通常带有单词“java”

于 2013-05-09T22:46:18.963 回答
1

jVisualVM 将最接近您想要的,并且可以免费使用 JDK,%JAVA_HOM%/bin/jvisualvm.exe。您将需要使用额外的 JVM 选项才能连接到您的 webapp(这也需要重新启动):

  • -Dcom.sun.management.jmxremote

描述:通过注册 JVM 检测 MBean 并在私有接口上发布 RMI 连接器,为 JMX 代理启用本地访问

  • -Dcom.sun.management.jmxremote.port = 3333

说明:用于RMI连接的端口(需要是未使用的端口)

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

说明:禁用客户端 SSL 身份验证的默认值(最简单/最快的配置)

  • -Dcom.sun.management.jmxremote.authenticate = false

说明:禁用远程监控密码认证的默认值

  • -Djava.rmi.server.hostname =本地主机

说明:RMI 侦听器的选项(使用 localhost 让 RMI 仅在本地侦听或将其设置为 appserver 主机名以进行远程监控)

运行 jVisualVM 并选择“添加新的 JMX 连接”并输入 localhost:3333。我最喜欢的扩展是线程堆栈,它显示当前正在运行的线程的线程堆栈。

于 2013-05-09T22:55:15.350 回答