Showing results for 
Show  only  | Search instead for 
Did you mean: 

Differences between Stored session types memdump_simple | memdump_extended | memdump_selective. ?

While I was looking at Server REST Api for creating a memory dump I encountered with the following memory dumps types:

memdump_simple | memdump_extended | memdump_selective.

Can you please explain each type in detail?


1. Simple memory dump is memory snapshot that only tells you the size of each class (without the 'tree' that shows you all the parents-reference-child-realtionship kind of thing underneath) [almost no overhead]

2. Extended memory dump is just like simple memory dump, but instead of snapshot it shows you the whole tree during the time this dump is taken [This one definitely has overhead and will likely impact your application]

3. Selcetive memory dump is the dump that is taken only on certain classed, you have to create a memory-sensor beforehand then only you can take a selective memory dump

AFAIK, normally you take a few simple dump to do comparison first, then identify some suspicious classes growing too fast in memory size, then create a memory sensor to instrument memory allocation of those suspicious classes, then from that points onwards use selective dump to further investigate. Follwoing this typical workflow, you don't need to take a full/extended dump in the first place, which might bring your application suspended.

Andi has a great video on this: