JetBrains Rider 2024.1 Help

Memory profiling of .NET code

The goal of memory profiling is to find the cause of memory and performance issues in an application. It can give answers to questions like "What functions allocate so much memory?", "Why is this object still in memory (a memory leak)?", "How does garbage collection affect performance," and more.

JetBrains Rider integrates with dotMemory to provide memory profiling of .NET applications. You can use the profiler via the dotMemory Profiler tool window, via the Run menu, and via the run widget menu.

Limitations

Compared to the standalone version of dotMemory, some features and views are not available:

  • Automatic inspections and the Heap Fragmentation diagram.

  • The Group by Similar Retention, Group by Creation Stack Trace, and Group by Shortest Paths views for object sets.

  • The Key Retention Paths and Creation Stack Trace views for instances.

Installation and licensing

dotTrace and dotMemory are provided as a single bundled plugin for JetBrains Rider, which is added and enabled automatically during the IDE installation. If you want to disable the plugin, open the Plugins page of the IDE settings  Ctrl+Alt+S, switch to the Installed tab and clear the checkbox next to dotTrace and dotMemory.

Note that the dotTrace and dotMemory plugin is available in Rider only for the owners of dotUltimate or All Products Pack subscriptions.

Supported CPU architectures

CPU

Standalone

Command-line tool

Profiler in JetBrains Rider

x86, x64

  • Windows: x64 only

  • Linux: x64 only. Only Alpine 3.13–3.15 is supported

  • macOS: x64

See details

  • Windows: x86 and x64

  • Linux (glibc and musl-based): x64 only

  • macOS: x64

Windows, Linux, macOS: x64 only

ARM

  • Windows: arm64 only. Windows 11: .NET 5.0–7.0 only

  • Linux (glibc-based only): arm64 only

  • macOS: arm64 (Apple Silicon). macOS 12 Monterey and later: .NET 6.0–7.0 only

  • Windows: arm64 only

  • Linux (musl-based): arm64 only

  • Linux (glibc-based): arm32 and arm64. GLIBC_2.23 or later

  • macOS: arm64 (Apple Silicon). macOS 12 Monterey and later: .NET 6.0–7.0 only

Windows, Linux, macOS: arm64 only

Supported frameworks for x86 and x64 CPUs

Windows

macOS | Linux

.NET Framework 1.0 – 4.8

Supported

Available in: standalone, console tool, Visual Studio, JetBrains Rider

Notes:

  • You can attach only to .NET Framework 4.0 or later processes.

Not available

.NET Core 1.0 – 3.1

.NET 5 – 7

Supported

Available in: standalone, console tool, Visual Studio, JetBrains Rider

Notes:

  • You can attach only to .NET Core 3.0 or later processes.

Supported

Available in: standalone, console tool, JetBrains Rider

Notes:

  • Attaching to running .NET Core processes is possible:

    • On Linux: only for .NET Core 3.0 or later, .NET 5 or later.

    • On macOS: only for .NET 5 or later.

Last modified: 17 April 2024