zoukankan      html  css  js  c++  java
  • 使用jvisualvm进行远程监控

    1. 描述

    jvisualvm是JDK自带的监控工具,位于JDK bin目录下面。

    默认jvisualvm不能监控远程的JVM进程,需要进行一些配置。

    2. 单独在应用上配置JVM启动参数

    在Java启动时,配置如下参数:

    -Djava.rmi.server.hostname=192.168.23.65 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.managementote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

    其中java.rmi.server.hostname配置的是运行JVM所在的机器IP。

    如:

    nohup java $JAVA_OPTS -Dfile.encoding=UTF-8 -Djava.rmi.server.hostname=192.168.23.65 -Dcom.sun.management.jmxremote.port=18888 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.managementote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -cp $LIB_PATH com.test.Application  > console.log &

    注意:com.sun.management.jmxrenote.port=18888,这个端口不能与业务的端口一致,否则报错。

    在jvisualvm里面添加远程主机192.168.23.65,然后右键添加JMX连接,如图:

    输入上面配置的端口即可,之后就可以看到各种监控的数据。

    3. 使用jstatd

    新建一个文件jstatd.all.policy(名称随意),内容如下:

    grant codebase "file:${java.home}/../lib/tools.jar" {  
       permission java.security.AllPermission;  
    };

    然后执行 jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.23.65

    在jvisualvm里面添加远程主机 192.168.23.65,然后右键添加jstatd连接,端口默认。jvisualvm即可扫描出所有正在运行的JVM,点击即可监控。

    对比两种方式,第一种需要在每个JVM参数中都要配置,第二种不需要配置应用的JVM参数,只需要额外启动一个jstatd即可。

  • 相关阅读:
    NserviceBus+rabbitmq
    c#调用Mysql带参数的存储过程
    datatable list 之前相互转换
    (gridcontrol等)通用导出excel z
    异步数据库查询 Z
    Gridview导出EXCEL(多页) z
    [自制简单操作系统] 4、计时器(线性表实现优化中断)
    [JAVA] 基于TCP的起重机运行模拟器
    [自制简单操作系统] 3、内存管理和窗口叠加
    [自制简单操作系统] 2、鼠标及键盘中断处理事件[PICGDTIDTFIFO]
  • 原文地址:https://www.cnblogs.com/lujiango/p/9633213.html
Copyright © 2011-2022 走看看