Skip to content
| Marketplace
Sign in
Visual Studio>Tools>dotMemory
dotMemory

dotMemory

JetBrains

jetbrains.com
|
17,356 installs
| (4) | Free Trial
Smart and reliable .NET memory profiler that helps you optimize memory usage in your application, find memory leaks, and fight other types of memory issues.
Download

Fight all types of memory issues

dotMemory helps you optimize memory usage in a variety of .NET and .NET Core applications: desktop, Windows services, ASP.NET web applications hosted on IIS and IIS Express, arbitrary .NET processes, and more.

dotMemory integrates with Visual Studio and JetBrains Rider, so you can start a memory profiling session right from the IDE. Also, you can profile unit tests quickly when working with ReSharper.

Comprehensive UI and easy navigation

While memory profiling has the reputation of being for pros only, dotMemory's unique user interface lowers that entry barrier dramatically and makes memory profiling straightforward. You simply move from top to bottom, from a set of objects down to particular instances, until you identify the real cause of memory issues.

Powerful automatic inspections

To ease your life, dotMemory automatically scans your snapshot for most common types of memory issues. These inspections can be a great starting point in analyzing a snapshot if you don't know where to begin.

memory_inspections.png

Support for raw memory dumps

dotMemory lets you import raw Windows memory dumps obtained using the Task Manager or Process Explorer, and analyze them as regular memory snapshots. By doing so, you can take advantage of automatic inspections, retention diagrams, and other sophisticated dotMemory features.

dotmemory_import_dump.png

Timeline view with real-time data collection

Monitor memory consumed by your application, get snapshots and drop them to compare in one click.

Analyzing memory traffic

Excessive allocations and garbage collections may imply significant memory management overhead. Use the traffic view to understand what objects are created/collected most intensively in your app and what functions are causing this memory traffic.

Multiple views on data

Examine objects in the heap from multiple views. Want to know how objects relate to each other? What objects do they reference and through what fields? Want to know which calls created these objects? No problem! dotMemory has a view for everything.

Sunburst diagram

Understanding of how memory is retained in your application is essential in order to successfully optimize it. In this view, the hierarchy of dominators (objects that exclusively retain other objects in memory) is shown on a sunburst chart.

A quick look at the chart allows you to find out what objects are crucial for your application and evaluate the largest structures: the more memory a dominator retains, the larger the central angle.

To get the retention path of the particular dominator click on the corresponding arc. Double-click on a dominator will zoom in the chart allowing you to see the objects retained by this dominator in more details.

Automatic snapshots

Sometimes you may be interested in taking snapshots only when a certain condition is true. This is why dotMemory makes it possible to automate the process of getting snapshots. This is especially helpful when the memory consumption of your application is dramatically increased, or when taking a snapshot manually gets tricky.

Comparing memory snapshots

Comparing two snapshots is the main way to find objects that are causing a memory leak. Use the comparison view to find out how many objects were created between snapshots and how many objects were collected.

Remote profiling

Profile apps not only on your local computer but on any computer in your network or on the Internet. Remote profiling is especially helpful when you need to profile a web app on a production server.

Profiling API

Taking the right moment for getting a snapshot is very important for memory analysis. Use the dotMemory API calls to take snapshots at the exact places of your code.

Command-line profiler

dotMemory includes the dotMemory.exe tool that allows you to profile from the command line. The tool is extremely helpful when you need to automate the process of gathering memory snapshots, e.g. if you want to make profiling a part of your continuous integration builds.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft