jconsole
JConsole(Java Monitoring and Management Console)是一款基于JMX(Java Manage-ment Extensions)的可视化监控、管理工具。它主要通过JMX的MBean(Managed Bean)对系统进行信息收集和参数动态调整。
JMX是一种开放性的技术,它既可以用在虚拟机本身的管理上,也可以用于运行在虚拟机之上的软件中。目前很多软件都支持基于JMX进行管理与监控。
启动
执行如下命令:
jconsole
就会弹出jconsole一个新建连接的窗口。
- 对于本地JVM进程,jconsole会自动搜索踹,无需用户人工指定;
如果想要连接远程进程,请参见《远程连接》相关的内容
使用
选择进程后,即可看到jconsole的使用窗口了,如下图所示。
概览:展示虚拟机运行数据的概要信息,包括堆内存使用量、线程、类、CPU占用率的曲线图。这些曲线图本质上是内存、线程、类等几个页面的信息汇总。
- 内存:用于监控虚拟机内存的变化趋势,相当于可视化的jstat命令。
- 线程:监控应用线程的个数波动及状态,当遇到线程停顿的时候可以考虑用这个页面的功能进行分析,相当于可视化的jstack命令。
- 类:监控应用加载的类的变化趋势。
- VM概要:展示应用的一些概要信息。
- MBean:展示应用被JMX管理的Bean。