IntelliJ IDEA 2025.2 Help

自定义 profiler 配置

对于 CPU 和内存分配分析,IntelliJ IDEA 提供与以下 Profiler 的集成:

  • Java Flight Recorder——作为 JDK 的一部分提供的标准分析工具。

  • Async Profiler——一款非常精确的分析器,还可以收集本机调用和内存分配数据。

默认情况下,IntelliJ IDEA 会同时运行两个分析器,以提供最准确的结果。 虽然可以单独使用支持的 profiler,但开箱即用的组合配置是大多数情况下的更好选择。 这种方法利用了分析器的优势,并且除非您有非常具体的需求,否则无需进行任何设置。

Async ProfilerJava Flight Recorder 配置让您可以单独运行这些工具并根据具体要求进行微调。 本主题介绍如何设置这些配置和环境。

创建单独的 profiler 配置

  1. 前往 Settings | 构建、执行、部署 | Java 分析器

  2. 点击 添加新配置 并选择分析器。

  3. 根据需要修改 profiler 选项。

    有关选项的意义和目的,请分别参阅 Async ProfilerJava Flight Recorder章节。

Async Profiler

在 Windows 和 macOS 上,分析器开箱即用。 如果您使用的是 Linux,在开始 Profiling 之前,您必须调整 kernel 选项。

在 Linux 上调整 kernel 选项

  1. 调整 perf_event_paranoid。 此选项控制非 root 用户对性能事件数据的使用。

    将该值设置小于 2 以使性能分析器在无 root 权限的情况下收集性能信息:

    sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'
  2. 调整 kptr_restrict。 此选项设置暴露内核地址的限制。

    要正确解析内核符号,请通过将 kptr_restrict 的值设置为 0 来禁用其提供的保护:

    sudo sh -c 'echo 0 >/proc/sys/kernel/kptr_restrict'

默认情况下,这些更改仅影响您当前的操作系统会话。 要在系统重启后保持这些设置,请运行:

sudo sh -c 'echo kernel.perf_event_paranoid=1 >> /etc/sysctl.d/99-perf.conf' sudo sh -c 'echo kernel.kptr_restrict=0 >> /etc/sysctl.d/99-perf.conf' sudo sh -c 'sysctl --system'

配置选项

选项

描述

代理选项

将传递给代理的选项。 例如,它们可以用于启用壁挂式时钟分析,或调整采样间隔。

代理

将用于分析的代理。

Java Flight Recorder

Java Flight Recorder 可在 Windows、Linux 和 macOS 上使用。 在以下 JDK 版本中,原生支持:

  • Oracle JDK 8-10:前提是 UnlockCommercialFeatures VM 选项 启用

  • Oracle JDK 11 及以上版本

  • OpenJDK 11 及更新版本

为 Oracle JDK 8-11 启用 JFR

  1. 在主菜单中,前往 运行 | 编辑配置 ,然后从左侧列表中选择要用 JFR 分析的运行配置。

  2. 虚拟机选项 字段中,添加以下行: -XX:+UnlockCommercialFeatures

  3. 应用更改并关闭对话框。

启用 JFR

JFR 配置

有两个预装的配置: 默认个人资料默认 配置具有低开销(约 1%)。 这就是它适合连续分析的原因。 个人资料 配置有大约 2% 的开销,可用于更详细的应用性能分析。

这些配置涵盖了大多数用例。 您可以在 设置 | 构建、执行、部署 | Java Profiler | Java Flight Recorder 中选择最合适的配置。

如果预定义配置无法满足您的需求,您可以通过 Java Mission Control 创建并上传您自己的设置。

创建自定义 JFR 配置(可选)

  1. 您能在 JAVA_HOME/bin/jmc 中找到 Java Mission Control 或从 https://jdk.java.net/jmc/ 下载。

  2. 从 Java Mission Control 主菜单中选择 窗口 | Flight Recording Template Manager.

  3. 点击 导入文件 位于右侧面板,并选择 .jfc 格式中的一个预安装配置:

    • Java 10 及以前版本: JAVA_HOME/jre/lib/jfr/

    • 对于 Java 11 及更高版本: JAVA_HOME/Contents/Home/lib/jfr/

  4. 选择 编辑|高级 ,更改必要的设置,然后点击 OK

  5. 飞行记录模板管理器 对话框中,点击 导出文件

  6. 请为新设置文件指定另一个名称,并根据需要更改其位置。 点击 保存

有关配置自定义设置的更多信息,请参考 使用模板控制录制数据

将自定义配置加载到 IDE(可选)

  1. 设置 对话框(Ctrl+Alt+S )中,选择 构建、执行、部署 | Java Profiler

  2. 请选择您要加载自定义设置的 Java Flight Recorder 分析配置,或通过点击 "添加"按钮 创建一个新配置。

  3. 分析设置 区域,选择 自定义设置文件 选项并点击 浏览按钮

  4. 指定自定义设置文件的路径并点击 打开

  5. 应用更改并关闭对话框。

最后修改日期: 2025年 9月 22日