Peak Snapshots
(Professional and Enterprise only)
The peak memory usage of an application is a useful metric to find out the memory requirements of the application. Peak memory information is also available in the real-time view, which will present the total number of bytes used by managed instances. However, no details will be provided about the actual memory usage at the time of the peak.
Using peak snapshots, much more detailed information about the peak memory usage will be available. If peak snapshots are enabled, the profiler will, at each garbage collection, check whether the total managed memory usage has reached a peak. If a peak has been reached, all information about the managed memory usage, and native resources usage, is stored temporarily. When the profiling session is ended, the information about the highest peak is collected as a snapshot by the profiler. The peak snapshot includes additional information, such as the total number of instances and bytes before the garbage collection, the number of instances and bytes collected, and the number of instances and bytes that are unreachable but still exist on the GC heap. This information is presented as additional columns and fields on the Overview page and the Type details page.
The following toolbar commands are available to control peak snapshot collection:
Command | Description |
---|---|
![]() |
Enables and disables peak snapshot collection. When enabled, temporary snapshot information will be stored each time a new peak has been detected and a peak snapshot will be collected when the session ends. |
![]() |
Collects the current peak snapshot. If a higher peak is detected after the current peak has been collected, an additional peak snapshot will be collected when the session ends. |
![]() |
Resets the current peak snapshot. New peak snapshot information will be collected at the next garbage collection. |
As mentioned previously, peak snapshot collection can be used to get information about the total memory needed by an application, simply by running the application under the profiler and then investigate the peak snapshot. It can also be used to investigate the memory usage of a certain task, e.g. opening and closing a document:
Reset any existing peak information using Reset peak snapshot.
Perform the task, e.g. opening and closing a document.
Collect the resulting peak snapshot using Collect peak snapshot.
The profiler guides “Investigate program peak memory usage” and “Investigate operation peak memory usage” can be used to get step-by-step instructions on to analyze peak memory usage.