Java 开发工具包 (JDK) 为 Java 应用程序的开发提供二进制文件、工具和编译器。其中一个有用的工具是 jconsole。

为了演示,我将使用 WildFly J2EE 应用服务器,它是 JBOSS 开源应用服务器项目的一部分。首先,我启动一个独立实例。

~/wildfly/24.0.1/bin$ ./standalone.sh

u003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003d u003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003du003d

JBoss 引导环境

JBOSS_HOME: /home/alan/wildfly/24.0.1

JAVA:/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-5.fc34.x86_64/bin/java

现在,在另一个终端中,我输入jconsole

$jconsole

启动时,jconsole 会列出本地实例。选择本地进程,然后选择进程的名称并单击连接。这就是连接并开始将 jconsole 与正在运行的 Java 虚拟机 (JVM) 一起使用所需的全部内容。

jconsole 新连接屏幕与本地进程

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

概述

Java 监控和管理控制台在仪表板顶部显示进程标识符 (PID)。概述选项卡有四个图表来显示堆内存使用、线程、类和 CPU 使用的重要信息。

jconsole 仪表板显示堆内存使用情况、线程、类和 CPU 使用情况

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

更多关于 Java

  • 什么是企业Java编程?

  • Red Hat 构建的 OpenJDK

  • Java 备忘单

  • 免费在线课程:使用微服务架构开发云原生应用程序

  • Java新鲜文章

顶部的选项卡提供了每个区域的更详细视图。

内存

内存选项卡显示 JVM 正在使用的内存的各个方面的图表。分配给 JVM 的服务器系统内存量称为堆。此屏幕还提供有关堆内部组件(例如 Eden Space、Old Gen 和 Survivor Space)使用情况的详细信息。您也可以手动请求垃圾收集操作。

jconsole 内存选项卡

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

主题

线程选项卡显示有多少线程正在运行。您也可以手动检查死锁。

jconsole 线程仪表板显示一段时间内的线程数和线程滚动列表

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

类选项卡告诉您加载了多少类以及卸载了多少类。

jconsole 类选项卡显示随时间加载的类数量

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

虚拟机总结

VM 摘要选项卡提供了有关应用程序和主机系统的许多详细信息。您可以了解您所在的操作系统和架构、系统内存总量、CPU 数量,甚至交换空间。

jconsole VMsummary 选项卡

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

摘要中显示的有关 JVM 的更多详细信息包括当前和最大堆大小以及有关正在使用的垃圾收集器的信息。底部窗格列出了传递给 JVM 的所有参数。

MBean

最后一个选项卡 MBeans 允许您深入了解所有 MBean 以查看每个 MBean 的属性和值。

MBeans 选项卡

图片来源:

(艾伦·福米-杜瓦尔,CC BY-SA 4.0)

结论

Java 已经存在了很长时间,并且它继续为全球数百万个系统提供支持。有大量的开发环境和监控系统可用,但是在基本套件中包含像 jconsole 这样的工具可能非常有价值。

Logo

更多推荐