用 jconsole 在 Linux 上监控你的 Java

如何使用 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 的全部过程。

 

jconsole 与本地进程的新连接屏幕

 

概述

这个 Java 监控和管理控制台在仪表板的顶部显示进程标识符(PID)。“概述Overview”标签有四个图表,显示“堆内存使用情况Heap Memory Usage”、“线程Threads”、“类Classes”和“CPU 使用情况CPU Usage”的重要信息。

 

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

 

沿着顶部的标签提供每个区域的更详细的视图。

 

内存

“内存Memory”标签显示 JVM 所使用的内存的各个方面的图表。分配给 JVM 的服务器系统内存量被称为“堆Heap”。这个屏幕还提供了关于堆的内部组件使用情况的详细信息,例如 “伊甸园Eden Space”、“老年代Old Gen” 和 “幸存者区Survivor Space”。你也可以手动请求一个垃圾收集动作。

 

jconsole 内存标签

 

线程

“线程Threads”标签显示有多少线程在运行。你也可以手动检查是否存在死锁。

 

jconsole 线程仪表板显示了随时间变化的线程数量和滚动的线程列表

 

“类Classes”标签告诉你有多少类被加载,有多少被卸载。

 

 

 

dawei

【声明】:邵阳站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。