I am trying to understand why ASP.NET worker process (w3wp.exe) is too big and see its contents. The size of w3wp.exe in Task Manager is 306Mb which is what selective memory snapshot shows as Used Memory:
However, when I take Deep Memory Analysis snapshot (under Total Memory) it shows Used Memory of 10,.09 Mb:
What does this 10.09 MB represent? Why Total Memory does not equal Used Memory or worker process size?
Please help me interpret this.
-Stan
Answer by Asad A. ·
Stan,
One more thing to look at. Are you triggering garbage collection when taking deep memory analysis dumps? That can bring the deep memory analysis size lower.
Asad
Thank you everybody. Let me eliminate one issue first - we're not running the latest version. We are in the process of upgrading from 4.0 to 4.1. I will check the numbers once the upgrade is done and open a support ticket if they are different. (Yes it was strange because Selective Memory was only showing a few objects for which Memory Sensors were defined in sensor pack. Triggering GC or not didn't seem make make much difference).
Answer by Andreas G. ·
Hi Stan
Sorry for the late reply on this. Both Dashlets are able to display "Used Memory" and "Process Memory". Where Used Memory is really the memory that is used by the JVM/CLR Heap and Process Memory is the memory used by the process.
Is it possible you look at two different columns here?
If not - and both show the same value I would ask you to export the deep memory dump and send it over to us to analyze. Best would be through a support ticket
Thanks
Hi Andreas:
I found good a slide that maybe explains this:
It appears that Selective Memory is process memory which is a sum of dlls, native heaps, threads, etc while Deep Memory snapshot is just only managed memory, that's why it is much smaller. Not sure if it is correct or not..
Good thought. Just wondering if 10MB can be accurate. Not sure if there are apps that "only" use 10MB of dlls. You could use a tool like process explorer to verify which dlls are loaded and do the math.
In any case - I would still open a ticket as suggested so that our team can look into this. When we get the accurate answer we can post it here on the forum
hi Stan,
honestly, i'm a little confused about the numbers you see.
both selective and deep memory dump only show objects on the .NET heap, so both of them should show the same overall memory values.
especially because the selective dump shows fewer objects than the deep memory dump, it's confusing that the used memory should be lower.
i'd create a support ticket anyway, so we look into this in more detail.
best,
Christian
JANUARY 15, 3:00 PM GMT / 10:00 AM ET