JetBrains Rider 2026.1 Help

监测

JetBrains Rider 提供了一个集成的监视工具,可让您实时跟踪应用程序性能并分析运行时行为。 您可以查看 CPU 使用率、内存占用、垃圾回收活动、环境变量、计数器和度量。 在 Windows 上,该工具还可以在后台收集详细的性能数据,并允许您使用集成的 dotTrace Profiler 对其进行分析。

默认情况下,在运行或调试项目时,监视会在 监测 工具窗口中自动启动。

Windows OS 上的监视工具窗口

支持的操作系统和应用程序

操作系统:

  • Windows – 功能完整,包括后台性能分析、自动检测性能问题、时间范围分析等。 某些功能需要 dotUltimate 许可证

  • Linux 和 macOS – 仅提供实时数据。 后台分析和自动检测性能问题 不受支持

应用程序:

  • .NET Core 3.0 及更高版本,.NET 5.0 及更高版本

  • .NET Framework (无计数器、指标和异常相关信息)

  • Mono (无计数器、指标和异常相关信息)

  • Unity (仅提供 CPU 和内存图表)

  • C++ (仅提供 CPU 和内存图表)

  • Unreal Engine (仅提供 CPU 和内存图表)

性能选项卡

性能 选项卡使用图表可视化您的应用程序的运行时行为。 在 Windows 上,它还会提供检测到的性能问题列表,并允许您通过集成的 dotTrace Profiler 对其进行详细分析(需要 dotUltimate 许可证)。

图表

监视图表

图表 选项卡显示应用程序的 CPU 和内存使用情况。 如果将鼠标悬停在图表上,您可以查看数据点的详细信息。

  • CPU 图表显示您的应用程序的 CPU 使用情况,以及检测到 UI 冻结性能热点 问题的时间区间。

  • 垃圾回收 图表显示您的应用程序中的垃圾回收( GC )事件,以及检测到 高垃圾回收活动 问题的时间区间。

  • 内存 图表显示应用程序的内存使用情况。

    如何计算内存使用量

    内存 图表显示您进程的 private memory – 仅为此进程提交且不与其他进程共享的内存。

    • Windows: 图表显示该进程的 Commit Charge 值。 它包含私有页面(即使已被交换出去),并排除与其他进程共享的页面,因此可能高于或低于其他工具显示的 "驻留/工作集"。 该图表使用 GetProcessMemoryInfo 获取 PROCESS_MEMORY_COUNTERS_EX.PrivateUsage

    • Linux: 图表将 Private_CleanPrivate_Dirty 来自 /proc/<pid>/smaps_rollup 的数值相加(或在汇总文件不可用时取自 /proc/<pid>/smaps)。

    • macOS: 图表通过遍历进程的内存区域,将常驻私有字节和换出私有字节相加(类似于 vmmap 工具报告的内容)。

    由于不同工具可视化的指标不同( 私有内存 vs. 驻留/工作集 ),各工具之间的数值不完全一致是正常的。

检测到的问题 (仅限 Windows)

监测. 检测到的问题

在 Windows 上,监控工具可以自动检测您应用程序中的各种类型的问题。 您可以使用集成的 dotTrace 性能分析器 对检测到的问题进行详细分析。

了解检测到的问题

后台性能分析 (仅限 Windows)

在 Windows 上,JetBrains Rider 使用 ETW CPU 采样在运行或调试会话期间于后台收集详细的性能数据。 该过程类似于 dotTrace 的时间线分析,但会自动运行且开销极小。 收集到的数据包括:

  • 包含方法执行时间的堆栈跟踪

  • 方法活动的时间线

  • 诸如分配或垃圾回收之类的运行时事件

后台分析通常只会对应用程序性能造成 1–2% 的影响。 在极端情况下,开销可能高达 10%。 如果遇到性能下降,您可以在 设置 | 构建、执行、部署 | 监控 中取消选中 ETW CPU 采样 复选框。

您可以使用集成的 dotTrace Profiler 分析这些性能数据(见下文)。 请注意,分析这些数据需要 dotUltimate 许可证

检测到的问题 功能也由这些后台性能分析数据提供支持。

分析监控数据

您可以使用集成的 dotTrace 性能分析器 分析收集到的性能数据(需要 dotUltimate 许可证)。

分析问题

  1. 在列表中双击某个问题,或右键单击该问题并选择 分析问题

  2. 有关该问题的详细信息将显示在新的编辑器选项卡中。 了解如何分析检测到的问题

在 dotTrace 中分析问题

  1. 在列表中右键单击某个问题并选择 选择问题范围

  2. 单击 图表 选项卡顶部的 分析时间范围分析所选时间范围 按钮。

  3. 问题的时间范围将会在 dotTrace 工具窗口中打开,并显示调用树和事件数据。 了解如何使用 dotTrace 分析数据

在 dotTrace 中分析时间区间

  1. 单击图表并选择您要分析的时间区间。

  2. 单击 图表 选项卡顶部的 分析时间范围分析所选时间范围 按钮。

  3. 相应的时间范围将会在 dotTrace 工具窗口中打开,并显示调用树和事件数据。 了解如何使用 dotTrace 分析数据

    分析所选范围

在 dotTrace 中分析完整时间范围

  1. 单击 图表 选项卡顶部的 分析所有性能数据分析完整时间范围 按钮。

  2. dotTrace 工具窗口将会打开,并显示整个运行或调试会话的调用树和事件数据。 了解如何使用 dotTrace 分析数据

计数器选项卡

计数器 选项卡显示所有已启用的计数器和指标提供程序的计数器及其值。

  • 计数器

    .NET 计数器是获取应用程序性能数据的一种方式。 大多数 .NET 系统程序集提供其自己的计数器集。 例如,基础 System.Runtime 程序集包括 CPU 和内存使用情况、特定堆中的垃圾回收次数、锁争用计数、线程池队列长度等计数器。 Microsoft.AspNetCore.Hosting 提供的计数器可用于监控服务器应用程序,例如请求速率、失败请求数量等。 此外,您的应用程序可以通过 EventCounters 提供自定义计数器。

  • 指标

    指标 是一种更现代的收集应用程序数据的方式,支持 OpenTelemetry 等各种第三方提供程序。 .NET 程序集也提供其自己的指标集。 例如, Microsoft.AspNetCore.Hosting 提供了请求持续时间和当前活动请求数量的指标。 与计数器一样,您的应用程序也可以提供自定义指标。

要添加或移除提供程序,请转到 设置 | 构建、执行、部署 | 监控 | 计数器与指标 ,并在 计数器提供程序指标提供程序 中配置提供程序列表。 添加提供程序时:

  • 要从提供程序中添加所有计数器/指标,请指定其名称,例如: MyProvider

  • 要从提供程序中添加特定的计数器/指标,请按照以下格式指定提供程序和计数器/指标名称: ProviderName[CounterName1,CounterName2]。 例如, OpenTelemetry.Instrumentation.Runtime[process.runtime.dotnet.gc.collections]

要定义计数器和指标值的更新频率(以秒为单位),请在 设置 | 构建、执行、部署 | 监控 | 计数器与指标 中使用 刷新间隔 参数。

环境选项卡

环境 选项卡显示您的应用程序的环境变量和系统属性。

监控模式

默认情况下,当您运行或调试项目时,监控会自动启动。 您可以通过 启用监测 选择器在 监测 工具窗口设置中更改此行为:

  • 调试或运行时 – 当您运行或调试项目时,监控会自动启动。

  • 调试时 – 仅当您调试项目时,监控会自动启动。

  • 从不 – 监控已禁用。

获取分析数据

有时,监控工具收集的数据不足以分析您的应用程序性能。 为了进行更详细的分析,您可以直接从 监测 窗口的工具栏获取分析数据(例如,启动性能分析会话或获取内存快照):

  • 获取堆栈跟踪收集堆栈跟踪 – 获取应用程序的堆栈跟踪。 堆栈跟踪将自动在 堆栈跟踪资源管理器 中打开。 例如,当您遇到意外的 UI 卡顿并希望调查潜在的线程锁时,这可能会有所帮助。

  • 开始内存分析获取内存快照 – 立即获取应用程序的内存快照。 一旦收集到快照,它将会在 dotMemory Profiler工具窗口中打开。

  • 开始采样分析开始采样分析 | 开始时间线分析开始时间线分析 – 使用 时间线或采样分析类型启动性能分析会话。 要停止记录分析数据并保存性能快照,请单击 停止分析 按钮。 收集的快照将会在 dotTrace Profiler工具窗口中打开。

2026年 3月 25日