jconsole
概述
- 从Java5开始, 在JDK中自带的java监控和管理控制台
- 用于对JVM中内存, 线程和类等的监控, 是一个基于JMX的GUI性能监控工具
- 官方使用文档
启动
cmd中直接输入jconsole即可
三种连接方式
-
local
- 使用Jconsole连接一个正在本地系统运行的JVM, 需要执行程序的用户与运行jconsole的用户是同一个, jconsole使用文件系统的授权通过RMI连接器连接到平台的MBean服务器上, 这种从本地连接的监控能力只有Sun的JDK有
-
remote
- 使用URL(service:jmx:rmi://jndi/rmi:/hostName:port/jmxrmi),jconsole为建立连接, 需要在环境变量中设置mx.remote.credentials来指定用户名和密码,从而进行授权
-
advanced
- 使用一个特殊的URL连接JMX代理, 一般情况下使用自己定制的连接器而不是rmi提供的连接器来连接jmx代理, 或者是一个使用 JDK1.4的实现了JMX和JMX Remote的应用
VisualVM
概述
- Visual VM 是一个功能强大的多合一故障诊断和性能监控的可视化工具
- 集成了多个JDK命令行工具, 使用Visual VM可用于显示虚拟机进程及进程的配置和环境信息, 监视应用程序的CPU, GC ,堆 ,方法区及线程的信息等, 代替了jconsole
- 再jdk6之后, Visual VM 便作为JDK的一部分发布
安装
- Visual VM可以使用JDK自带的版本, 在安装JDK的bin目录下, 双击启动或者在命令行使用jvisualvm启动
- 也可以去Visual VM官方网站进行下载安装
-
插件:
- 官网插件中心下载安装即可
- 或者在Visual VM界面-> 工具 ->插件安装
- Visual GC Tools插件可以说是必须的
-
IDEA中安装
- file-> settings-> plugins 中搜索VisualVM Launcher安装
- 配置VisualVM Launcher
连接
- 本地连接, 同JConsole
- 远程连接:
- 远程服务器Ip地址
- 添加JMX(通过JMX具体监控远端服务器那个java进程)
- 修改bin/catalina.sh文件, 连接远程的tomcat
- 在…/conf中添加jmxreote.access和jmxremote.password文件
- 将服务器地址改为公网Ip地址
- 设置阿里云安全策略和防火墙策略
- 启动tomcat, 查看tomcat启动日志和端口监听
- JMX中输入端口号, 用户名和密码登录
功能
-
生成\读取堆内存快照
-
查看JVM参数和系统属性
-
查看运行中的虚拟机进程
-
生成\读取线程快照
-
程序资源的实时监控
-
JMX代理连接
-
远程环境监控
-
CPU分析和内存分析