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 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, Linux, macOS: x64 only |
ARM |
|
| Windows, Linux, macOS: arm64 only |
Supported frameworks for x86 and x64 CPUs
Windows | macOS | Linux | |
---|---|---|
.NET Framework 1.0 – 4.8 | Available in: standalone, console tool, Visual Studio, JetBrains Rider Notes:
| |
.NET Core 1.0 – 3.1 .NET 5 – 7 | Available in: standalone, console tool, Visual Studio, JetBrains Rider Notes:
| Available in: standalone, console tool, JetBrains Rider Notes:
|