User Manual

Call Stacks Reduction

Each time a managed instance or unmanaged resource instance is allocated, the allocation call stack is recorded. The allocation call stack is a very important piece of information when analysing how memory and resources are used by the profiled process. To be able present the call stack information, .NET Memory Profiler must store the contents of each unique call stack. If too many unique call stacks exist, the memory usage within the profiler and the profiled process might become too high. The performance will also suffer, especially when viewing methods information in the profiler.

To mitigate the problem with high memory usage and bad performance, it is sometimes necessary to reduce the number of call stacks stored. This can be performed by limiting the depth of the call stacks and/or excluding certain methods and functions from the call stacks. Both approaches have drawbacks, since they reduce the amount of information presented. Stack depth limitation is defined by a session setting. Methods and functions can be excluded manually or by using the call stacks reducer.

More:

Limiting Call Stack Depth

Excluding Call Stack Functions

Call Stack Reducer