- System requirements
- Profiler architecture
- Profiler installation
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead: how to reduce or avoid
- Solving performance problems
- CPU profiling
- Memory profiling
- Understanding garbage collection
- Shallow and retained sizes
- Object allocation recording
- GC roots view
- Memory tab
- Performance charts
- Object explorer
- Dominators - Biggest objects
- Memory inspections
- Group objects by category
- Method merged callees view
- Method back traces view
- Quick info view
- Leak detection: working with paths
- Merged paths
- Class hierarchy
- Useful actions
- Garbage collection
- Exception profiling
- Performance charts
- Probes: monitor higher level events
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary, automatic deobfuscation
- Profiler command line
- Command line tool to control profiling
- Export of profiling results to external formats
- Profiler API
- Profiler HTTP API
Group objects by class and namespace
When analyzing a .NET memory snapshot, understanding the structure of objects in memory can offer invaluable insights into your application's performance and resource consumption. One effective way to do this is by grouping objects by their classes and namespaces, represented in a tree-like structure.
YourKit .NET Profiler allows you to group objects by their classes and namespaces, and evaluate how much memory they use:
Why group by classes and packages?
1. Simplifies analysis: Grouping objects by their classes and packages provides a logical structure that's easy to navigate.
2. Identifies memory leaks: If a specific package or class is consuming too much memory, you might suspect a memory leak, or consider refactoring the code.
3. Performance Tuning: Understanding the memory footprint of different classes can help you fine-tune your application for better performance.
Focus on large consumers
Begin your analysis by focusing on packages or classes that consume the most memory.
If you see a class with an unusually high number of instances or memory consumption, delve deeper to identify the root cause.