I have a memory leak, that only occours in production (a webapp (Asp.Net MVC)).
I would like to take a memory snapshot with dotMemory (or a tool like it) to see what is going on.
However I am not sure if that will cause the production to pause and mess up any current requests.
Fwiw I have 32 gb of RAM on the machine
So my question is:
Can I get a memory snapshot without adversly blocking / affecting requests?
Yes, dotMemory and any other memory profiler working via Microsoft Profiling API will pause an app for some time, from milliseconds to minutes depending on how much data is in the memory.
I would recommend to take a standard Windows memory dump, in normal situation it also takes some time, but there is a technique which could help to avoid it. Then you can analyze it in dotMemory or any other tool supporting Windows memory dumps.
https://blogs.msdn.microsoft.com/granth/2012/07/02/how-to-take-a-memory-dump-of-an-asp-net-application-pool-quickly/