Page 1 of 1

Using profiler on production

Posted: Tue Jan 18, 2022 10:25 pm
by dakselrod.fh
We have a weird perf problem that shows up on production machine only. Every profiler so far (perfview, dotProfile, leansentry), brought down the site (we're running IIS 10), with even the lightest settings for memory collection. Our customers can't handle mid-day recycles, or even twice-slow response times.

Is .NET Memory Profiler able to gather anything more then continuous Memory/GC stats, with a very small perf impact ? We're obviously not looking for any snapshotting (that takes 15 min on our 100gb heap).

Thanks.

Re: Using profiler on production

Posted: Fri Jan 21, 2022 10:37 am
by Andreas Suurkuusk
If you attach to the process using "Inspection only attach" you have the option to collect a memory snapshot of the process using a process snapshot (process snapshots are available in WIndows 8.1/Windows Server 2012 R2 and later). A process snapshot should be fast, even for a 100 GB process. However, reading the memory data from a 100 GB process snapshot may be very slow. If there are many object instances and references, it may become too slow to work with.
ProcessSnapshot.png
If NmpCore is used to attach to the process, the "Inspection attach " argument, /ia, should be used. For more information see the documentation.