[Java故障排除指南- JDK11-学习笔记]-2-诊断工具

[Java故障排除指南- JDK11-学习笔记]-2-诊断工具,第1张

2 诊断工具 2.1 诊断工具概述

Java Development Kit (JDK) 提供特定于各种 *** 作系统的诊断工具和故障排除工具。还可以使用 JDK 提供的 API 开发自定义诊断工具

本节中描述的大多数命令行实用程序要么包含在 JDK 中,要么包含在本机 *** 作系统工具和实用程序中。

尽管 JDK 命令行实用程序包含在 JDK 下载中,但重要的是要考虑到它们可用于诊断问题并监视使用 Java 运行时环境 (JRE) 部署的应用程序。

通常,诊断工具和选项使用各种机制来获取它们报告的信息。这些机制特定于虚拟机 (VM) 实现、 *** 作系统和版本。通常,只有一部分工具适用于特定时间的给定问题。带有前缀的命令行选项-XX特定于 Java HotSpot VM。

根据要排除的问题类型,工具和选项分为几类。某些工具和选项可能属于不止一类

  • 事后诊断工具和配置: 可用于在应用程序崩溃后诊断问题。请参阅事后诊断工具。

  • 挂起的进程工具: 可用于调查挂起或死锁的进程。

  • 监控工具: 可用于监控正在运行的应用程序。

  • 其他工具和配置可用于帮助诊断其他问题。

后面会详细来看每个分类下的工具

本节介绍的一些命令行实用程序是实验性的。jstack、jinfo和jmap实用程序都是实验性实用程序的例子。建议使用最新的诊断实用程序jcmd,而不是早期的jstack、jinfo和jmap实用程序。

2.2 JDK Mission Control (JMC) 2.2.1 JMC简介



JMC 非常小的性能开销是由于它与HotSpot VM紧密集成的结果。JMC 功能始终按需提供,其较小的性能开销仅在工具运行时有效。这种方法还消除了 观察者效应的问题,当监控工具改变系统的执行特性时就会出现这种现象。JMC 使您能够解决问题并确定根本原因和瓶颈。这些属性使 JMC 工具非常适合在生产中运行的应用程序。

JMC 由以下客户端应用程序和插件组成:

  • JVM 浏览器显示正在运行的 Java 应用程序及其 JVM。

  • JMX 控制台是一种用于监视和管理 JVM 的机制。它连接到正在运行的 JVM,实时收集、显示其特征,并使您能够通过托管 Bean (MBean) 更改其某些运行时属性。您还可以创建触发某些事件的规则(例如,如果应用程序的 CPU 使用率达到 90%,则发送电子邮件)。

  • Flight Recorder (JFR) 是一种用于收集有关正在运行的 Java 应用程序的诊断和分析数据的工具。它被集成到 JVM 中,并导致非常小的性能开销,因此可以在生产环境中使用。JFR 不断保存有关正在运行的应用程序的大量数据。此分析信息包括线程样本、锁定配置文件和垃圾收集详细信息。JFR 在逻辑分组的表格和图表中显示诊断信息。它使您能够选择关注问题所需的时间范围和详细程度。在联系 Oracle 支持以帮助诊断 Java 应用程序问题时,JFR 收集的数据可能非常重要。

  • jcmd 实用程序 诊断命令用于向 JVM 发送诊断命令请求。这些请求对于管理来自 Flight Recorder 的记录、故障排除以及诊断 JVM 和 Java 应用程序很有用。
    插件有助于堆转储分析和 DTrace 记录。请参阅插件详细信息。JMC插件使用Java 管理扩展(JMX) 代理连接到 JVM。有关 JMX 的更多信息,请参阅Java 平台标准版 Java 管理扩展指南

2.2.2 使用 JDK Mission Control 进行故障排除

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/757658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-01
下一篇 2022-05-01

发表评论

登录后才能评论

评论列表(0条)

保存