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 Control+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 operating systems and frameworks
OS: Windows, Linux, macOS.
Frameworks:
.NET Framework 1.0 – 4.8 (Windows only).
.NET Core 1.0 – 3.1, .NET 5 – 7.
The profiler is able to attach to native, .NET Framework 4.0+, .NET Core 3.0+, and .NET 5+ processes.