- System requirements
- Profiler architecture
- Profiler installation
- Uninstall profiler
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead
- Snapshots
- Solving performance problems
- Performance bottlenecks
- Optimizing memory usage
- Memory leaks
- Excessive garbage allocation
- CPU profiling
- Thread profiling
- Object allocation profiling
- Memory profiling
- Exception profiling
- Telemetry
- Probes: monitor higher level events
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary, automatic deobfuscation
- Filters
- Profiler command line
- Command line tool to control profiling
- Export of profiling results to external formats
- Profiler .NET API
- Profiler HTTP API
- Settings
- Troubleshooting
Excessive garbage allocation
How to find excessive garbage allocation?
Purpose: Reduce time that garbage collector spends on collecting temporary objects.
- Run application with the profiler.
- Connect to the application.
- Object allocation telemetry will help you estimate garbage collector load.
If garbage collection takes a significant amount of time, it is advised to profile memory allocation to pinpoint and optimize the problematic code.
Let us assume there is a task in your application that you want to profile.
- Start object allocation profiling with default settings right before the task is started.
- Wait until the task finishes or performs long enough.
- Capture memory snapshot and stop object allocation profiling.
- Open snapshot and use Allocations view.
Optionally, the profiled application can be launched with object allocation profiling started with the help of corresponding startup options.