# 监视和管理 Java 虚拟机

> 原文： [https://docs.oracle.com/javase/tutorial/jmx/overview/javavm.html](https://docs.oracle.com/javase/tutorial/jmx/overview/javavm.html)

JMX 技术还可用于监视和管理 Java 虚拟机（Java VM）。

Java VM 具有内置检测功能，使您可以使用 JMX 技术监视和管理它。这些内置管理实用程序通常被称为 Java VM 的 _ 开箱即用 _ 管理工具。为了监视和管理 Java VM 的不同方面，Java VM 包括一个平台 MBean 服务器和特殊的 MXBeans，供符合 JMX 规范的管理应用程序使用。

## Platform MXBeans 和 Platform MBean Server

_ 平台 MXBeans_ 是一组 MXBeans，随 Java SE 平台一起提供，用于监视和管理 Java VM 以及 Java 运行时环境（JRE）的其他组件。每个平台 MXBean 都封装了 Java VM 功能的一部分，例如类加载系统，即时（JIT）编译系统，垃圾收集器等。通过使用符合 JMX 规范的监视和管理工具，可以显示和交互这些 MXBean，使您能够监视和管理这些不同的 VM 功能。一个这样的监视和管理工具是 Java SE 平台的 JConsole 图形用户界面（GUI）。

Java SE 平台提供了一个标准的 _ 平台 MBean 服务器 _，其中注册了这些平台 MXBean。平台 MBean 服务器还可以注册您要创建的任何其他 MBean。

## JConsole 的

Java SE 平台包括 JConsole 监视和管理工具，该工具符合 JMX 规范。 JConsole 使用 Java VM 的广泛工具（平台 MXBeans）来提供有关 Java 平台上运行的应用程序的性能和资源消耗的信息。

## 开箱即用的管理实践

由于实现 JMX 技术的标准监视和管理实用程序内置于 Java SE 平台中，因此您可以在不必编写单行 JMX API 代码的情况下查看现成的 JMX 技术。您可以通过启动 Java 应用程序然后使用 JConsole 对其进行监视来实现。

## 使用 JConsole 监视应用程序

此过程说明如何监视 Notepad Java 应用程序。在版本 6 之前的 Java SE 平台版本下，需要使用以下选项启动要使用 JConsole 监视的应用程序。

```
-Dcom.sun.management.jmxremote

```

但是，随 Java SE 6 平台提供的 JConsole 版本可以附加到支持 Attach API 的任何本地应用程序。换句话说，JACsole 会自动检测在 Java SE 6 HotSpot VM 中启动的任何应用程序，而不需要使用上述命令行选项启动。

1.  Start the Notepad Java application, by using the following command in a terminal window:

    ```
    java -jar 
        jdk_home/demo/jfc/Notepad/Notepad.jar

    ```

    其中`jdk_home`是安装 Java Development Kit（JDK）的目录。如果您没有运行 Java SE 平台的第 6 版，则需要使用以下命令：

    ```
    java -Dcom.sun.management.jmxremote -jar 
          jdk_home/demo/jfc/Notepad/Notepad.jar

    ```

2.  Once Notepad has opened, in a different terminal window, start JConsole by using the following command:

    ```
    jconsole

    ```

    将显示“新建连接”对话框。

3.  In the New Connection dialog box, select `Notepad.jar` from the Local Process list, and click the Connect button.

    JConsole 打开并将自身连接到`Notepad.jar`进程。当 JConsole 打开时，您将看到与记事本相关的监视和管理信息的概述。例如，您可以查看应用程序正在使用的堆内存量，应用程序当前运行的线程数以及应用程序消耗的中央处理单元（CPU）容量。

4.  Click the different JConsole tabs.

    每个选项卡都提供有关运行记事本的 Java VM 的不同功能区域的更多详细信息。所有提供的信息都是从该踪迹中提到的各种 JMX 技术 MXBeans 中获得的。所有平台 MXBeans 都可以显示在 MBeans 选项卡中。 MBeans 选项卡将在此跟踪的下一部分中进行检查。

5.  要关闭 JConsole，请选择 Connection - &gt;出口。