通过visualvm远程监控jetty

    xiaoxiao2024-01-25  25

    通过visualvm/jconsole可以比较直观的观看jvm的运行情况。在jetty简单本置便可提供远程监控。

    1、配置jetty运行参数:

    ARG=””

    ARG=”$ARG -Dcom.sun.management.jmxremote”

    ARG=”$ARG -Dcom.sun.management.jmxremote.ssl=false”

    ARG=”$ARG -Dcom.sun.management.jmxremote.authenticate=false”

    ARG=”$ARG -Dcom.sun.management.jmxremote.port=39527″

    ARG=”$ARG -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx″

    ARG=”$ARG -Xmx2g”

    ARG=”$ARG -Xmn512m”

    ARG=”$ARG -verbose:gc”

    ARG=”$ARG -XX:+PrintGCDateStamps”

    ARG=”$ARG -XX:+PrintGCTimeStamps”

    ARG=”$ARG -XX:+PrintGCDetails”

    ARG=”$ARG -XX:+PrintTenuringDistribution”

    ARG=”$ARG -XX:+PrintCommandLineFlags”

    ARG=”$ARG -XX:+UseConcMarkSweepGC”

    ARG=”$ARG -XX:ParallelCMSThreads=2″

    ARG=”$ARG -XX:+CMSClassUnloadingEnabled”

    ARG=”$ARG -XX:+UseCMSCompactAtFullCollection”

    ARG=”$ARG -XX:CMSInitiatingOccupancyFraction=80″

    ARG=”$ARG -XX:MaxDirectMemorySize=2g”

    2、去掉jetty-jmx.xml最后一段jmx连接测试的配置,并且在start.ini中把jetty-jmx.xml前的#去掉

    3、启动jetty,日志中会看到以下类似信息:

    2012-04-05 13:54:21.772:INFO::JMX Remote URL: service:jmx:rmi://xxx.xxx.xxx.xxx/jndi/rmi://localhost:39527/jettyjmx

    并且没有像”拒绝连接”的错误日志,表示启动成功了。可以通过 netstat -an|grep 39527 查看到在侦听39527端口

    注意,这里用39527,默认的1099,小于1024的端口在linux上,只有root才有权限使用。

    4、客户端连接使用以下URL:

    service:jmx:rmi://xxx.xxx.xxx.xxx/jndi/rmi://localhost:39527jettyjmx

    将机器名或localhost替换成ip即可。

    本文来源于"阿里中间件团队播客",原文发表时间" 2012-04-10"

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)