当我们在 Java虚拟机上进行操作时,VisualVM 这一强大的工具为我们提供了一个可视化界面,用于查看本地和远程 Java 应用程序(JVM)的详细信息。为了查看 JVM 内部的程序运行情况,它利用并集成了 JDK提供的一些命令行工具;这个工具包包含了 jmap、jstack、jConsolem、jstat 和 jinfo 这些命令行工具。所有这些实用程序都包含在标准的 JDK 发行版中。
VisualVM 的用途
Java 应用程序开发者可以使用 Java VisualVM 来监控和提升 Java 应用程序的性能。通过 Java VisualVM,开发者可以执行和监控垃圾回收、生成和分析堆转储、发现并修复内存泄漏、浏览并与平台的 MBeans 进行交互,以及进行轻量级的内存和 CPU 分析。
以下仅仅是 VisualVM 支持的一些核心功能:
- 为在本地和远程 JVM 上运行的 Java 程序提供可视化用户界面。
- 在运行时监控程序的内存使用和行为。
- 线程级别的应用程序监控。
- 检查分配给不同应用程序的 RAM量。
- 在发生死锁和竞争状况时,线程转储非常有用。
- 堆转储对于研究堆内存分配非常有帮助。
正如我们从上面的列表中看到的,我们实际上可以监控本地和远程的应用程序。这非常有用,因为当发生运行时异常(例如内存溢出异常、死锁、竞争条件等)时,我们可以通过可视化界面识别导致问题的对象(例如导致内存溢出的对象)或导致线程死锁的资源。
对于在 Ubuntu 上安装 VisualVm,主要有两种方法。
- 方法 1:使用 Ubuntu 软件中心安装 VisualVM
- 方法 2:使用 aptitude 安装 VisualVM
方法 1:使用 Ubuntu 软件中心安装 VisualVM
步骤 1:打开 Ubuntu软件应用程序。
步骤 2:在搜索栏中搜索 VisualVM 应用程序。
步骤 3:点击安装按钮来安装该应用程序。
!Click on install button to install it.
方法 2:使用 aptitude 安装 VisualVM
步骤 1:打开您的终端。
步骤 2:使用以下命令更新软件源。
sudo [apt](https://www.geeksforgeeks.org/linux-unix/apt-command-in-linux-with-examples/)update
步骤 3:通过输入以下命令来安装 VisualVM,
sudo apt install visualvm
!Installing VisualVM using apt
VisualVM 使用示例
步骤 1:这里列出了本地系统上每一个使用 JVM 的程序。在列表的末尾,显示了我正在运行的一个 Spring Boot 应用程序,其 PID 为 500847。您不仅可以看到本地应用程序,还可以看到运行在远程服务器上的一些程序。
!List of running applications.
步骤 2:如果您想查看某个应用程序,只需点击它,就会弹出一个显示该应用程序详细信息的新窗口,如下图所示。您将看到 PID、主机、主类、JVM 参数等详细信息。
!Overview of specific application.
步骤 3:通过在监控窗口中选择应用程序,我们可以对其进行监控。这个页面包含大量信息,但最重要的两个是 CPU 和内存使用率。此外,它还会显示类加载