Introduction
dotMemory is a memory profiling tool that allows you to analyze memory usage of any .NET-based application. This includes standalone applications (for example, written in C# or VB.NET), ASP.NET web applications, arbitrary .NET processes, and others.
For more information about dotMemory system requirements, refer to this page.
How it works and when you might need this
dotMemory collects memory usage data of a running .NET process. The data is then presented to you in a number of views which provide different perspectives on objects in memory.
dotMemory allows you to answer many questions related to the memory usage of your app:
Why is this object still in memory (what causes a memory leak)?
What takes so much memory?
How does garbage collection affect application performance (for example, high-memory traffic)?
Are there any memory allocation/distribution patterns violated?
Nevertheless, emergency cases (when you already have memory issues) are only one of the reasons for memory profiling. dotMemory is an excellent tool for daily basis use as well. For example, run dotMemory after applying changes to the code or introducing a new algorithm. dotMemory will immediately show you how things are going – is it getting better or worse? Using dotMemory as one of your obligatory routines will help you improve your code on-the-fly.
dotMemory versions
dotMemory is available in the following versions:
dotMemory standalone application for Windows, macOS, and Linux. Note that the versions for Linux and macOS have several limitations that are noted in the documentation.
dotMemory integrated in JetBrains Rider for Windows, macOS, and Linux. More details on the integration and its limitations are available in the Rider documentation.
dotMemory command-line tool for Windows, macOS, and Linux. For more information, refer to this page.
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:
|
Snapshot compatibility
Save in version | Open in version | ||
2018.1 – 2019.1 | 2019.2 – 2019.3 | 2020.1 – 2024.2 | |
2018.1 – 2019.1 | |||
2019.2 – 2019.3 | |||
2020.1 – 2024.2 |