如何使用 Java 开发工具包中的 Java 监控和管理控制台。
Java 开发工具包(JDK)提供了开发 Java 应用程序的二进制文件、工具和编译器。其中一个有用的工具是 jconsole
。
为了演示,我将使用 WildFly J2EE 应用服务器,它是 JBOSS 开源应用服务器项目的一部分。首先,我启动了一个独立的实例。
~/wildfly/24.0.1/bin$ ./standalone.sh ========================================================================= JBoss Bootstrap Environment 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 会列出本地实例。选择“本地进程
Local Process
”,然后选择进程的名称并点击“连接
Connect
”。这就是连接并开始使用运行中的 Java 虚拟机(JVM)的 jconsole 的全部过程。
概述
这个 Java 监控和管理控制台在仪表板的顶部显示进程标识符(PID)。“概述
Overview
”标签有四个图表,显示“堆内存使用情况
Heap Memory Usage
”、“线程
Threads
”、“类
Classes
”和“CPU 使用情况
CPU Usage
”的重要信息。
沿着顶部的标签提供每个区域的更详细的视图。
内存
“内存
Memory
”标签显示 JVM 所使用的内存的各个方面的图表。分配给 JVM 的服务器系统内存量被称为“堆
Heap
”。这个屏幕还提供了关于堆的内部组件使用情况的详细信息,例如 “伊甸园
Eden Space
”、“老年代
Old Gen
” 和 “幸存者区
Survivor Space
”。你也可以手动请求一个垃圾收集动作。
线程
“线程
Threads
”标签显示有多少线程在运行。你也可以手动检查是否存在死锁。
类
“类
Classes
”标签告诉你有多少类被加载,有多少被卸载。
虚拟机摘要
“虚拟机摘要
VM Summary
”标签提供了许多关于应用程序和主机系统的细节。你可以了解你所处的操作系统和架构、系统内存总量、CPU 数量,甚至交换空间。
摘要中显示的关于 JVM 的进一步细节,包括当前和最大的堆大小以及正在使用的垃圾收集器的信息。底部的窗格列出了传递给 JVM 的所有参数。
MBeans
最后一个标签,MBeans,让你通过所有的 MBeans 向下钻取,以查看每个 MBeans 的属性和值。
总结
Java 已经存在了很长时间,它将继续为全球数百万的系统提供动力。有很多开发环境和监控系统可以使用,但像 jconsole
这样的包含在基本工具包中的工具非常有价值。
原文: https://opensource.com/article/21/10/monitor-java-linux-jconsole