SlideShare a Scribd company logo
Analyzing .NET Application Memory Usage and Issues Using Free and Commercial  Profiling Tools Presented by Greg Sohl © 2006, Gregory M. Sohl
Memory Issues? Huh? .NET has Garbage Collection. I don’t have to worry about memory anymore! Users have lots of memory now. I don’t have to worry about using lots of memory anymore! Windows has virtual memory space. I don’t have to worry about using lots of memory anymore!
Common .NET Memory Issues Too much allocation Memory allocations are long lived Managed memory leaks – reference leaks Work “with” the Garbage Collector. It’s your friend - but only if you are nice to it.
Why Use a Profiling Tool? To understand how your allocations correspond with the assumptions made by the GC Track unintentional references to instances (leaks) Track references that are being held too long
3 Allocation Profilers .NET Memory Profiler – SciTech Commercial – best of breed Ants Profiler – Red Gate Commercial – Useful, but light weight feature set CLR Profiler 2.0 – Microsoft Free – Powerful, but challenging to use Others listed in resources
Definitions Root – The base object holding references to other objects Examples: A static field, a local variable or a method parameter.  Root Path - The path of referees from the selected instance to a root Garbage Collection – The process by which objects with no root (unreachable objects) are cleaned up from the heap.
Sample - Conway’s Game of Life  A simulation of cellular automation.   http://en.wikipedia.org/wiki/Conway's_Game_of_Life Pulsar Pattern
Demo - .NET Memory Profiler Cream of the crop profilers Can attach to running processes Show native memory usage Great real-time view Copy grids to clipboard Low impact mode
Demo - CLR Profiler 2.0 For the MacGyver in you. A robust tool, without all the modern conveniences.
Demo - Ants Profiler Good tool with basic features Memory analysis a recent addition to execution analysis No real-time or IDisposble analysis Best thread support
Resources .NET Memory Profiler http://memprofiler.com/ Ants Profiler http://www.red-gate.com CLR Profiler 2.0 http://www.microsoft.com/downloads/details.aspx?familyid=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=en   Or  http://tinyurl.com/ozsgr
Resources DevPartner Studio Professional Includes a memory profiler http://www.compuware.com/products/devpartner/studio.htm
Resources Introduction to the CLR Profiler http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050217CLRPS/manifest.xml Profiling Managed Code with the CLR Profiler http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20030729clrgn/manifest.xml How To: Use CLR Profiler http://msdn2.microsoft.com/en-us/library/ms979205.aspx CLR Profiler (v1.1) http://www.microsoft.com/downloads/details.aspx?familyid=86ce6052-d7f4-4aeb-9b7a-94635beebdda&displaylang=en
Resources Improving Managed Code Performance (P&P) http://msdn2.microsoft.com/en-us/library/ms998547.aspx Code Review: .NET Application Performance http://msdn2.microsoft.com/en-us/library/ms998574.aspx Checklist: Managed Code Performance http://msdn2.microsoft.com/en-us/library/ms979052.aspx Improving .NET Application Performance and Scalability (full Patterns and Practices book) http://msdn2.microsoft.com/en-us/library/ms998530.aspx
Resources Rico Mariani's Performance Tidbits (Blog) http://blogs.msdn.com/ricom/default.aspx Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework (Jeffery Richter) http://msdn.microsoft.com/msdnmag/issues/1100/gci/ Garbage Collector Basics and Performance Hints (Rico Mariani) http://msdn2.microsoft.com/en-us/library/ms973837.aspx
Thank You!  Questions?
Ad

Recommended

.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
ITCamp
 
.Net memory management ndc london
.Net memory management ndc london
benemmett
 
Garbage Collection In Micorosoft
Garbage Collection In Micorosoft
SmithaNatarajamurthy
 
Memory management
Memory management
Rajni Sirohi
 
Memory profiler and garbage collector in C#
Memory profiler and garbage collector in C#
Wipro
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
Maarten Balliauw
 
Exploring .NET memory management - A trip down memory lane - Copenhagen .NET ...
Exploring .NET memory management - A trip down memory lane - Copenhagen .NET ...
Maarten Balliauw
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
Maarten Balliauw
 
Exploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinar
Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
Maarten Balliauw
 
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
NETFest
 
.Net debugging 2017
.Net debugging 2017
Tess Ferrandez
 
ConFoo - Exploring .NET’s memory management – a trip down memory lane
ConFoo - Exploring .NET’s memory management – a trip down memory lane
Maarten Balliauw
 
Memory management
Memory management
LavishMaheshwari
 
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
LogeekNightUkraine
 
Debugging performance issues, memory issues and crashes in .net applications rev
Debugging performance issues, memory issues and crashes in .net applications rev
Tess Ferrandez
 
Look Mommy, no GC! (BrightSource)
Look Mommy, no GC! (BrightSource)
Dina Goldshtein
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
Ashish Bhasin
 
Garbage collection in C#,important topic
Garbage collection in C#,important topic
ksks28058
 
Performance In The .Net World
Performance In The .Net World
Vlad Balan
 
Practical lessons in memory analysis
Practical lessons in memory analysis
AJohnson1
 
Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)
Maarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
Maarten Balliauw
 
Ps ts 4118-304118_230-1_fin_v1
Ps ts 4118-304118_230-1_fin_v1
AJohnson1
 
01class_object_references & 02Generation_GC.pptx
01class_object_references & 02Generation_GC.pptx
ssuser95922e
 
Visual Studio Profiler
Visual Studio Profiler
Betclic Everest Group Tech Team
 
.Net Architecture and Performance Tuning
.Net Architecture and Performance Tuning
GauranG Bajpai
 
Self-Aware Applications: Automatic Production Monitoring (NDC Sydney 2017)
Self-Aware Applications: Automatic Production Monitoring (NDC Sydney 2017)
Dina Goldshtein
 
A DSL for Your API
A DSL for Your API
Greg Sohl
 
.NET Overview
.NET Overview
Greg Sohl
 

More Related Content

Similar to Analyzing .Net Application Memory Usage And Issues (20)

Exploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinar
Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
Maarten Balliauw
 
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
NETFest
 
.Net debugging 2017
.Net debugging 2017
Tess Ferrandez
 
ConFoo - Exploring .NET’s memory management – a trip down memory lane
ConFoo - Exploring .NET’s memory management – a trip down memory lane
Maarten Balliauw
 
Memory management
Memory management
LavishMaheshwari
 
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
LogeekNightUkraine
 
Debugging performance issues, memory issues and crashes in .net applications rev
Debugging performance issues, memory issues and crashes in .net applications rev
Tess Ferrandez
 
Look Mommy, no GC! (BrightSource)
Look Mommy, no GC! (BrightSource)
Dina Goldshtein
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
Ashish Bhasin
 
Garbage collection in C#,important topic
Garbage collection in C#,important topic
ksks28058
 
Performance In The .Net World
Performance In The .Net World
Vlad Balan
 
Practical lessons in memory analysis
Practical lessons in memory analysis
AJohnson1
 
Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)
Maarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
Maarten Balliauw
 
Ps ts 4118-304118_230-1_fin_v1
Ps ts 4118-304118_230-1_fin_v1
AJohnson1
 
01class_object_references & 02Generation_GC.pptx
01class_object_references & 02Generation_GC.pptx
ssuser95922e
 
Visual Studio Profiler
Visual Studio Profiler
Betclic Everest Group Tech Team
 
.Net Architecture and Performance Tuning
.Net Architecture and Performance Tuning
GauranG Bajpai
 
Self-Aware Applications: Automatic Production Monitoring (NDC Sydney 2017)
Self-Aware Applications: Automatic Production Monitoring (NDC Sydney 2017)
Dina Goldshtein
 
Exploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinar
Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
Maarten Balliauw
 
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
NETFest
 
ConFoo - Exploring .NET’s memory management – a trip down memory lane
ConFoo - Exploring .NET’s memory management – a trip down memory lane
Maarten Balliauw
 
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
LogeekNightUkraine
 
Debugging performance issues, memory issues and crashes in .net applications rev
Debugging performance issues, memory issues and crashes in .net applications rev
Tess Ferrandez
 
Look Mommy, no GC! (BrightSource)
Look Mommy, no GC! (BrightSource)
Dina Goldshtein
 
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
Ashish Bhasin
 
Garbage collection in C#,important topic
Garbage collection in C#,important topic
ksks28058
 
Performance In The .Net World
Performance In The .Net World
Vlad Balan
 
Practical lessons in memory analysis
Practical lessons in memory analysis
AJohnson1
 
Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)
Maarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
Maarten Balliauw
 
Ps ts 4118-304118_230-1_fin_v1
Ps ts 4118-304118_230-1_fin_v1
AJohnson1
 
01class_object_references & 02Generation_GC.pptx
01class_object_references & 02Generation_GC.pptx
ssuser95922e
 
.Net Architecture and Performance Tuning
.Net Architecture and Performance Tuning
GauranG Bajpai
 
Self-Aware Applications: Automatic Production Monitoring (NDC Sydney 2017)
Self-Aware Applications: Automatic Production Monitoring (NDC Sydney 2017)
Dina Goldshtein
 

More from Greg Sohl (11)

A DSL for Your API
A DSL for Your API
Greg Sohl
 
.NET Overview
.NET Overview
Greg Sohl
 
Cool .NET tools, techniques and libraries
Cool .NET tools, techniques and libraries
Greg Sohl
 
Net serialization
Net serialization
Greg Sohl
 
RESTful APIs in .NET
RESTful APIs in .NET
Greg Sohl
 
A great clash of symbols
A great clash of symbols
Greg Sohl
 
What’s new in Visual Studio 2010 debugging
What’s new in Visual Studio 2010 debugging
Greg Sohl
 
Automated Unit Testing and TDD
Automated Unit Testing and TDD
Greg Sohl
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Application Security Part 1 Threat Defense In Client Server Applications ...
Greg Sohl
 
.NET Recommended Resources
.NET Recommended Resources
Greg Sohl
 
Object Oriented Programming In .Net
Object Oriented Programming In .Net
Greg Sohl
 
A DSL for Your API
A DSL for Your API
Greg Sohl
 
.NET Overview
.NET Overview
Greg Sohl
 
Cool .NET tools, techniques and libraries
Cool .NET tools, techniques and libraries
Greg Sohl
 
Net serialization
Net serialization
Greg Sohl
 
RESTful APIs in .NET
RESTful APIs in .NET
Greg Sohl
 
A great clash of symbols
A great clash of symbols
Greg Sohl
 
What’s new in Visual Studio 2010 debugging
What’s new in Visual Studio 2010 debugging
Greg Sohl
 
Automated Unit Testing and TDD
Automated Unit Testing and TDD
Greg Sohl
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Application Security Part 1 Threat Defense In Client Server Applications ...
Greg Sohl
 
.NET Recommended Resources
.NET Recommended Resources
Greg Sohl
 
Object Oriented Programming In .Net
Object Oriented Programming In .Net
Greg Sohl
 
Ad

Recently uploaded (20)

Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
The Growing Value and Application of FME & GenAI
The Growing Value and Application of FME & GenAI
Safe Software
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Mastering AI Workflows with FME by Mark Döring
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
Daily Lesson Log MATATAG ICT TEchnology 8
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
The Future of Product Management in AI ERA.pdf
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
The Growing Value and Application of FME & GenAI
The Growing Value and Application of FME & GenAI
Safe Software
 
Ad

Analyzing .Net Application Memory Usage And Issues

  • 1. Analyzing .NET Application Memory Usage and Issues Using Free and Commercial Profiling Tools Presented by Greg Sohl © 2006, Gregory M. Sohl
  • 2. Memory Issues? Huh? .NET has Garbage Collection. I don’t have to worry about memory anymore! Users have lots of memory now. I don’t have to worry about using lots of memory anymore! Windows has virtual memory space. I don’t have to worry about using lots of memory anymore!
  • 3. Common .NET Memory Issues Too much allocation Memory allocations are long lived Managed memory leaks – reference leaks Work “with” the Garbage Collector. It’s your friend - but only if you are nice to it.
  • 4. Why Use a Profiling Tool? To understand how your allocations correspond with the assumptions made by the GC Track unintentional references to instances (leaks) Track references that are being held too long
  • 5. 3 Allocation Profilers .NET Memory Profiler – SciTech Commercial – best of breed Ants Profiler – Red Gate Commercial – Useful, but light weight feature set CLR Profiler 2.0 – Microsoft Free – Powerful, but challenging to use Others listed in resources
  • 6. Definitions Root – The base object holding references to other objects Examples: A static field, a local variable or a method parameter. Root Path - The path of referees from the selected instance to a root Garbage Collection – The process by which objects with no root (unreachable objects) are cleaned up from the heap.
  • 7. Sample - Conway’s Game of Life A simulation of cellular automation. http://en.wikipedia.org/wiki/Conway's_Game_of_Life Pulsar Pattern
  • 8. Demo - .NET Memory Profiler Cream of the crop profilers Can attach to running processes Show native memory usage Great real-time view Copy grids to clipboard Low impact mode
  • 9. Demo - CLR Profiler 2.0 For the MacGyver in you. A robust tool, without all the modern conveniences.
  • 10. Demo - Ants Profiler Good tool with basic features Memory analysis a recent addition to execution analysis No real-time or IDisposble analysis Best thread support
  • 11. Resources .NET Memory Profiler http://memprofiler.com/ Ants Profiler http://www.red-gate.com CLR Profiler 2.0 http://www.microsoft.com/downloads/details.aspx?familyid=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=en Or http://tinyurl.com/ozsgr
  • 12. Resources DevPartner Studio Professional Includes a memory profiler http://www.compuware.com/products/devpartner/studio.htm
  • 13. Resources Introduction to the CLR Profiler http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050217CLRPS/manifest.xml Profiling Managed Code with the CLR Profiler http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20030729clrgn/manifest.xml How To: Use CLR Profiler http://msdn2.microsoft.com/en-us/library/ms979205.aspx CLR Profiler (v1.1) http://www.microsoft.com/downloads/details.aspx?familyid=86ce6052-d7f4-4aeb-9b7a-94635beebdda&displaylang=en
  • 14. Resources Improving Managed Code Performance (P&P) http://msdn2.microsoft.com/en-us/library/ms998547.aspx Code Review: .NET Application Performance http://msdn2.microsoft.com/en-us/library/ms998574.aspx Checklist: Managed Code Performance http://msdn2.microsoft.com/en-us/library/ms979052.aspx Improving .NET Application Performance and Scalability (full Patterns and Practices book) http://msdn2.microsoft.com/en-us/library/ms998530.aspx
  • 15. Resources Rico Mariani's Performance Tidbits (Blog) http://blogs.msdn.com/ricom/default.aspx Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework (Jeffery Richter) http://msdn.microsoft.com/msdnmag/issues/1100/gci/ Garbage Collector Basics and Performance Hints (Rico Mariani) http://msdn2.microsoft.com/en-us/library/ms973837.aspx
  • 16. Thank You! Questions?