jdk自带的JVisualVM的可视化监控

如果你前面看了我几篇关于jvm性能优化的文章,命令行操作是不是不直观,那么我们来使用这个JVisualVM吧,在jdk的bin文件夹里,这个官方文档都有中文版,插件啥的自己看着安装。https://visualvm.github.io/pluginscenters.html

他主要有如下的功能:

      1.监控本地Tomcat

      2. 监控远程Tomcat

      3.监控普通的JAVA进程

      功能 抽样器-选择cpu 可以查看热点方法,方法执行的时间,从而排除方法慢的原因(尤其是慢sql的情况下)

              抽样器-选择内存 动态参数对象占用的内存

      安装插件  先设置插件中心的地址,必须和角度看版本相同 插件 Visual GC 图形化的展示内存的变化情况

JMX 连接远程机器

      1.启动普通的jar程序

 java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar foo.jar 

       2.远程连接启动authenticate、ssl参数,参考上面的命令

tomcat 配置

    1.不需要鉴权

JAVA_OPTS=-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false  

2.  鉴权

set JMX_REMOTE_CONFIG=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access set CATALINA_OPTS=%CATALINA_OPTS% %JMX_REMOTE_CONFIG%

  复制并修改授权文件

JAVA_HOME/jre/lib/management下有jmxremote.access和jmxremote.password.template的模板文件,将两个文件复制到CATALINA_BASE/conf目录下
*重命名jmxremote.password.template文件为jmxremote.password
*修改CATALINA_BASE/conf/jmxremote.access 添加内容:
     monitorRole readonly
     controlRole readwrite
*修改CATALINA_BASE/conf/jmxremote.password 添加内容:
    monitorRole  liuke  #可自定义
   controlRole   liuke  #可自定义

tomcat 为 8.0.5 tomcat  catalina.sh 加入以下配置,需要配置的是下方的port(注意不要与其他的端口冲突),hostname 为虚拟机的IP

JAVA_OPTS="$JAVA_OPTS 
 -Dcom.sun.management.jmxremote 
 -Dcom.sun.management.jmxremote.port=9004
 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 
 -Djava.net.preferIPv4Stack=true 
 -Djava.rmi.server.hostname=192.168.56.1"

远端链接记得把9004端口号开放哦。。。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页