• jconsole工具监控java运行情况


    jconsole是jdk自带的工具。所以要先安装jdk

     1.jconsole工具的路径:
    通过which jconsole来查看
    /usr/local/jdk1.7.0_79/bin/jconsole
     
    2.使用方式:
    在linux监控端的图形界面执行:/usr/local/jdk1.7.0_79/bin/jconsole 将出现图形化java监控和管理控制台。
     
    3.执行后出现JConsole新建连接,有两个选择:
    1.本地进程(可以监控本机的java)
    ——》org.apache.catalina.startup.Bootstartup start
     
    2.远程进程(用于监控其他主机的java)
    ——》填写需要被监控的主机名:监控端口,输入监控专用的用户名/密码(可选)
     
    步骤1:需在被监控的主机上修改catalina.sh配置文件:
    vi /opt/tomcat/conf/catalina.sh
    1)     开启JVM远程监控
            -Dcom.sun.management.jmxremote=true
    2)     监控的IP地址
             -Djava.rmi.server.hostname=192.168.91.166,远程进程所在主机的IP。
    3)     监控的端口
            -Dcom.sun.management.jmxremote.port=50013,这个端口值可以任意设置,但在之后用Jconsole连接这个远程进程的时候,远程进程中的port一定要和此处的设置一致,并且一定不要和远程进程的服务端口区分开。
    4)     是否禁用ssl验证
            -Dcom.sun.management.jmxremote.ssl,false为禁用,true为启用。
    5)     是否需要用户密码验证
            -Dcom.sun.management.jmxremote.authenticate,false为不需要验证,true为需要验证。但我在Win7(32位、64位)中tomcat5.5.23下试着将该选项设置为true,tomcat无法启动,命令行窗口一闪而过。
    如不需密码验证,则在第二行开始添加下面3行:
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
    保存退出 //“12345”为监控端口号
     
    如需密码验证,则改为下面4行:
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password"
    保存退出
     
    步骤2:将/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template复制一份:
     
    cp /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template
    /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password
     
    步骤3:添加用于远程监控的用户名和密码:
    vi jmxremote.password //用于添加用户名和密码
    monitorRole 12345678 //用户名:monitorRole,这个名字系统是预先设置好的
    admin 123456 //自定义了用户名:admin
    root 123456 //自定义了用户名:root
    强制保存退出
     
    vi jmxremote.access //自定义监控的用户名具有哪些权限
    添加:
    admin readonly //定义只读帐号,名字任意
    root readwrite  //定义读写帐号,名字任意
    create javax.management.monitor.*,javax.management.timer.*
    保存退出
     
     
    chmod 600 jmxremote.password
    chown uucp:uucp jmxremote.password //先用ls -l /usr/local/jdk1.7.0_79看看是属于哪个用户和组,再设置成相同的。
     
    注:如果JConsole不能访问本机的程序的话,添加如下内容:
    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
     
    好了,可以连接了:
    输入要被监控的主机名cen01,端口:12345,
  • 相关阅读:
    iOS13使用bluetooth作为peripheral发送广播问题
    替代AttributeString的一个Label的类目
    Xcode拖动选中代码
    判断地图定位授权状态
    QLPreViewController的初步实用
    iOS的多版本配置(版本分离,多环境配置)
    -[NSBundle initWithURL:]: nil URL argument'
    xib的UIScrollView自适应高度
    ab工具-压力测试工具
    UIImageView的属性contentMode
  • 原文地址:https://www.cnblogs.com/zhuochong/p/10186023.html
Copyright © 2020-2023  润新知