Run Profiling
From memory perspective, the work of your app is continuous allocation of memory for new objects and releasing the memory left from the objects that are no longer used by the app. Objects are allocated one after another in the so-called managed heap (For more information about memory management in .NET, refer to the .NET Memory Management Concepts section).
- Memory snapshots
The instant image of the managed heap is called a memory snapshot. The snapshot contains information about all objects your app has allocated in memory on the moment of clicking the Get Snapshot button.
- Profiling session
A time interval during which your app works under profiling (you get memory snapshots during this time) is called a profiling session.
- Memory allocation
dotMemory can collect the memory allocation data which shows you how much memory was allocated during the session. This info lets you evaluate how your app performs in dynamics.
- Profiling workflow
Next in this chapter, we will guide you through the main profiling steps:
Controlling profiling: getting memory snapshots, detaching the profiler, and so on.
Note that you can control profiling in two ways: manually (using the control buttons in dotMemory) or automatically (using the API).
Alternatively, you can perform profiling using the dotMemory command-line profiler.