第 1 章 JDK Flight Recorder 简介


JDK Flight Recorder (JFR)是监控和性能分析 Java 应用程序的低开销框架。如需更多信息,请参阅 JEP 328: Flight Recorder

您可以从源自 JVM 和应用程序代码的事件收集数据。然后,数据会在内存中写入。首先,到 thread-local 缓冲区,然后在清除到磁盘上的 JFR 文件(*.jfr)前提升到 fixed-size 全局环缓冲。其他应用程序可以使用这些文件进行分析。例如,JDK Mission Control (JMC)工具。

1.1. JDK Flight Recorder (JFR)组件

您可以使用 JFR 功能观察 JVM 内运行的事件,然后从这些观察到的事件收集到的数据创建记录。

以下列表详细介绍了密钥 JFR 功能:

记录
您可以管理系统记录。每个记录都有唯一的配置。您可以启动或停止记录,或者根据需要将其保存到磁盘。
事件

您可以使用事件或自定义事件来跟踪 Java 应用的数据和元数据,然后在 JFR 文件中从任一事件类型保存数据和元数据。您可以使用各种工具,如 Java Mission Control (JMC)、jcmd 等等,来查看和分析存储在 JFR 文件中的信息。

Java 虚拟机(JVM)具有许多持续添加的预先存在的事件。用户可使用 API 将自定义事件注入其应用程序中。

您可以在记录时启用或禁用任何事件,以通过提供事件配置来最小化开销。这些配置采用 xml 文档的形式,并称为 JFR 配置集(..jfc)。对于最常见的用例,红帽构建的 OpenJDK 附带以下两个配置集:

  • 默认 :默认配置集是一个低选项配置,可以安全地在生产环境中持续使用。通常,开销小于 1%。
  • 配置集配置集 是一个低选项配置,非常适合性能分析。通常,开销小于 2%。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.