jconsole

JConsole(Java Monitoring and Management Console)是一款基于JMX(Java Manage-ment Extensions)的可视化监控、管理工具。它主要通过JMX的MBean(Managed Bean)对系统进行信息收集和参数动态调整。
JMX是一种开放性的技术,它既可以用在虚拟机本身的管理上,也可以用于运行在虚拟机之上的软件中。目前很多软件都支持基于JMX进行管理与监控。

启动

执行如下命令:

  1. jconsole

就会弹出jconsole一个新建连接的窗口。
内置可视化工具-jconsole - 图1

  • 对于本地JVM进程,jconsole会自动搜索踹,无需用户人工指定;
  • 如果想要连接远程进程,请参见《远程连接》相关的内容

    使用

    选择进程后,即可看到jconsole的使用窗口了,如下图所示。
    内置可视化工具-jconsole - 图2

  • 概览:展示虚拟机运行数据的概要信息,包括堆内存使用量、线程、类、CPU占用率的曲线图。这些曲线图本质上是内存、线程、类等几个页面的信息汇总。

  • 内存:用于监控虚拟机内存的变化趋势,相当于可视化的jstat命令。
  • 线程:监控应用线程的个数波动及状态,当遇到线程停顿的时候可以考虑用这个页面的功能进行分析,相当于可视化的jstack命令。
  • 类:监控应用加载的类的变化趋势。
  • VM概要:展示应用的一些概要信息。
  • MBean:展示应用被JMX管理的Bean。