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 the information about dotMemory system requirements, refer to this page.
How does it work and why do I need it
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) is not the only reason for memory profiling. dotMemory is a great tool for a daily base use as well. For example, run dotMemory after applying changes to the code or introducing a new algorithm. dotMemory will immediately show you how the things are going — is it getting better or worse. Making the usage of dotMemory one of your obligatory routines will help you to improve your code on-the-fly.
Supported operating systems and frameworks
Windows | macOS | Linux | |
---|---|---|
.NET Framework 1.0 – 4.8 | Available in: standalone, console tool, Visual Studio Notes:
| |
.NET Core 1.0 – 3.1 .NET 5 | Available in: standalone, console tool, Visual Studio Notes:
| Available in: console tool Notes:
|
Snapshot compatibility
Save in version | Open in version | |||
2018.1 – 2019.1 | 2019.2 – 2019.3 | 2020.1 – 2020.2 | ||
2018.1 – 2019.1 | ||||
2019.2 – 2019.3 | ||||
2020.1 – 2020.2 |