Aggregated views

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.

Moderator: SciTech Software

Aggregated views

Postby Piotr Q » Mon May 04, 2015 11:09 pm

Folks,

I am trying to analyze a complex application processing huge graphs (private heap usage oscillates around 75GB). The profiler shows me a path to a particular instance, but due to huge amounts of data this is not very useful. Ideally, I would like to aggregate data by type i.e. type A holds X instances (Y bytes) of type B. What I can currently see is total memory used by objects of type B, but I have no idea whether it is part of type A or type C object graph. Is it possible using the profiler app?

Thanks,
Piotr
Piotr Q
 
Posts: 3
Joined: Mon May 04, 2015 10:51 pm

Re: Aggregated views

Postby Andreas Suurkuusk » Tue May 05, 2015 12:06 pm

I was going to say that you can show the Held instances details of a selected type, but noticed that there's no easy way of doing that in the current version. We have now added a link to the "Held instances"/"Held bytes" information. Clicking this link will show you information about all instances held by the type or filter. The screencast below shows how the held instances information can be retrieved.

http://cdn.memprofiler.com/screencasts/ ... tances.mp4

Will this provide the information you need?

We will release a maintenance version of the profiler during this week. This version will include the "Held instances" details link.
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 957
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden

Re: Aggregated views

Postby Piotr Q » Tue May 05, 2015 4:20 pm

That's exactly what I've been looking for. Thanks for prompt answer and I really appreciate you adding this feature!

Could you reply to this thread once the new version is up, please? I will try it out.
Piotr Q
 
Posts: 3
Joined: Mon May 04, 2015 10:51 pm

Re: Aggregated views

Postby Andreas Suurkuusk » Thu May 07, 2015 1:15 pm

Now there's a new version available that includes the "Held instances" link, which allows you to investigate the held instances of a selected type. It has not yet been officially released, but you can download it from:

http://cdn.memprofiler.com/download/Mem ... 5_0_79.exe
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 957
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden

Re: Aggregated views

Postby Piotr Q » Fri May 08, 2015 6:11 pm

I do not see the link there. It seems that "Held bytes" is not available:
Live instances: 14,383,675; Delta live instances: 14,383,675; Live bytes: 345,208,200; Delta live bytes: 345,208,200; Held bytes: ?

Due to amount of memory consumed and CPU hit of the tool, I connected to a process in stable state and grabbed the snapshot. Is there a way to turn some options to get the "Held bytes" to show up?
Piotr Q
 
Posts: 3
Joined: Mon May 04, 2015 10:51 pm

Re: Aggregated views

Postby Andreas Suurkuusk » Sun May 10, 2015 7:36 pm

If the "Held bytes" value is presented as "?" it indicates that the held bytes calculation is not yet finished (or that the calculation has failed). Held bytes are calculated in the background and once the held bytes for all types and all filters have been calculated it will be assigned to the the types and filters. Since it seems like you are working with a huge snapshot this approach will not work well, since you will not get any information about held bytes until all calculations are finished.

We are working on an improvement for the held bytes calculation, where the calculation for the selected type will get priority over all other types, and especially over filters. We will try to provide you with a new implementation during the next week, which should hopefully allow you to investigate the held bytes of a selected type before all calculations are finished.
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 957
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden

Re: Aggregated views

Postby Andreas Suurkuusk » Tue May 12, 2015 3:12 pm

We have now a made few modifications to the profiler, which should hopefully make your very large snapshot work better.

  1. Improved calculation of the held instances for types (increased performance and reduced memory usage)
    Part of the calculation have been parellelized to use multiple cores, but unfortunately we have not (yet) found a way to parallelize the whole calculation.
  2. Increased the priority of the held bytes calculation. Held bytes for types are now calculated before other background analysis is performed.
  3. Calculated held bytes are updated as soon as the calculations have finished. The profiler no longer waits for the full analysis to be finished.
  4. If there's a problem with the background calculations or analysis an error window is shown.
    Previously the error was silently ignored and the background calculations stopped.

Can you download the latest build from http://cdn.memprofiler.com/download/MemProfilerInstaller5_0_82.exe and see if it works better now?
Best regards,

Andreas Suurkuusk
SciTech Software AB
Andreas Suurkuusk
 
Posts: 957
Joined: Wed Mar 02, 2005 7:53 pm
Location: Sweden


Return to Using .NET Memory Profiler

Who is online

Users browsing this forum: Bing [Bot] and 6 guests

SciTech Software logo

© Copyright 2001-2016. SciTech Software AB
All rights reserved.


SciTech Software AB
Kartvägen 21
SE-175 46 Järfälla
Sweden


E-mail: mail@scitech.se

Telephone: +46-706868081

cron