jvm---6.3、JVM监控工具 VisualVM

运行时监控  VisualVM

VisualVM  是jdk发布的功能最强大的运行监视、故障处理、性能分析工具。不需要被监视的程序基于特殊的Agent运行,因此它对应用程序的实际性能影响很小,可以直接使用在生产环境中。
实现功能:
显示jvm进程及进程配置,环境信息------jps jinfo
监视jvm进程的cpu,gc,堆,方法区及线程的信息----jstat  jstack
dump及分析堆快照----jmap  jhat
方法级的程序运行性能分析,找出调用最多、运行时间最长的方法
离线程序快照:收集程序的运行时配置,线程dump,内存dump等信息
可以安装其它插件,完成监控功能

启动VisualVM、安装监控插件:(机器上要有jdk)

    > jvisualvm    #启动,jdk 自带的执行程序

    安装插件:工具->插件

    

勾选,安装。(有的插件要翻墙安装,每个插件的功能,在右则有说明。)

启动服务,开启jmx

启动服务添加开启jmx配置(就是添加JAVA_OPT启动配置)
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8561 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

jmxremote     开启jmx remote
port                端口
authenticate   是否开启验证
ssl                   配置ssl

注:配置用户权限(服务器上配置):
在${JAVA_HOME}/jre/lib/management  目录下有两个文件:jmxremote.access、jmxremote.password.template分别定义的jmx的用户访问权限及用户密码
配置示例:
jmxremote.access  文件配置
       monitorRole   readonly      #配置用户monitorRole  只读权限
jmxremote.password.template  文件配置
monitorRole   123456        #配置用户monitorRole 密码

上面的启用JMX 配置修改为:authenticate=true   增加指定paswword.file 和 access.file

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8561 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=jmxremote.password.template -Dcom.sun.management.jmxremote.access.file=jmxremote.access

VisualVM 添加远程监控
右键远程,添加远程监控,这里写远程监控的名称。

        

    右键刚创建远程监控的名称,添加JMX连接。填写监控服务的ip,及上面配置的端口(8561)

    

    连接成功,展示是“概述”。包括pid,jvm 版本,jvm参数等



监控说明

        监视:就是对整个服务的一个总体监控。包含cpu,堆,类加载,线程的情况


        抽样
可以根据cpu和内存抽样,抽样出占用cpu时间最多的线程和占用内存最大的对象。提供优化依据
MBeans 内存中的对象
可以查看内存中对象的属性,可以调用对象的方法。
Tracer

可以跟踪jvm中任何东西,只要勾选然后点击Start 就行

                

插件安装不同页签也不相同,有些监控jvm 不支持

猜你喜欢

转载自blog.csdn.net/convict_eva/article/details/80664501
今日推荐