Linux中国

用 jconsole 在 Linux 上监控你的 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 与本地进程的新连接屏幕](/data/attachment/album/202110/08/131136m8wqj69qkwk90rzj.png "new connection")

概述

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

![jconsole 仪表板显示堆内存使用量、线程、类和 CPU 使用量](/data/attachment/album/202110/08/131137qk2lkqddkvdlv8r8.png "tab overview")

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

内存

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

![jconsole 内存标签](/data/attachment/album/202110/08/131137tzd4ynzxg39xgggn.png "memory tab")

线程

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

![jconsole 线程仪表板显示了随时间变化的线程数量和滚动的线程列表](/data/attachment/album/202110/08/131137mw40o0jozz4meomo.png "threads tab")

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

![jconsole 类标签显示随着时间推移加载的类数量](/data/attachment/album/202110/08/131138i00nh2mbuyaghuze.png "classes tab")

虚拟机摘要

虚拟机摘要 VM Summary ”标签提供了许多关于应用程序和主机系统的细节。你可以了解你所处的操作系统和架构、系统内存总量、CPU 数量,甚至交换空间。

![jconsole 虚拟机摘要标签](/data/attachment/album/202110/08/131138q3slr1secu5slbjt.png "VMsummary tab ")

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

MBeans

最后一个标签,MBeans,让你通过所有的 MBeans 向下钻取,以查看每个 MBeans 的属性和值。

![MBeans 标签](/data/attachment/album/202110/08/131138qwtfriqlutiitn5u.png "MBeans tab")

总结

Java 已经存在了很长时间,它将继续为全球数百万的系统提供动力。有很多开发环境和监控系统可以使用,但像 jconsole 这样的包含在基本工具包中的工具非常有价值。

via: https://opensource.com/article/21/10/monitor-java-linux-jconsole

作者:Alan Formy-Duval 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


本文转载来自 Linux 中国: https://github.com/Linux-CN/archive

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
雨落清风。心向阳

    You may also like

    Leave a reply

    您的邮箱地址不会被公开。 必填项已用 * 标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:Linux中国