ASP.NET Memory Profiling Questions

Memory profiling for .NET developers

Moderators: Luke Jefferson, StephenC, AndrewH, melvyn.harbour, james.billings, Laura Morley, dene.boulton

ASP.NET Memory Profiling Questions

Postby randomsolutions » Thu Aug 01, 2013 8:16 pm

Hello, I'm currently evaluating your (so far excellent) product and have a few questions.

1. When I profile my ASP.NET app, I see a large amount of free space (300MB). Does this have anything to do with memory fragmentation?

Total number of fragments: 14
Number of large fragments: 7
Wastage due to small fragments: 35.32kb (0.011% free memory)
Largest fragment: 88.6 MB (28.2% of free memory)

2. Is there a way to visualize the fragmentation?

3. All of my large object heap objects are object arrays attached to a GCHandle. Is there any way to identify what allocated them?

4. The total size of my objects on the Large Object Heap is about 635 KB (yes.. that small). Is it really possible that those tiny objects are casing my high free space issue?

5. Should I be running ASP.NET Profiling with debug=false in the web.config file?

6. Is there any way to start profiling IIS using Chrome? I hate trying to look at web api calls using IE.

7. Long shot question... I'm using JSON.Net, EntityFramework 5.0, Lucene.Net, and Bundling. Are there any known issues with these items and memory problems such as mine?

Thanks!
randomsolutions
 
Posts: 1
Joined: Thu Aug 01, 2013 8:02 pm

Postby jessica.ramos » Sat Aug 03, 2013 12:28 am

Hi there and thanks for your post! :)

Regarding your questions 1 and 4, it's a bit difficult to say without seeing your results. Could you kindly send them in to support@red-gate.com with the reference number F0075677 in the subject line?

2. Is there a way to visualize the fragmentation?

There is not a way to visualize the fragmentation, I'm afraid, but I'd be happy to make a feature request for this!

3. All of my large object heap objects are object arrays attached to a GCHandle. Is there any way to identify what allocated them?

Unfortunately no. :/ However, you can do a search through your code to see if any GChandles were allocated manually via GCHandle.Alloc(). Often times though, GChandles are allocated internally by .NET. For example, static variable storage is implemented internally by .NET as object arrays referenced by GC handles.

5. Should I be running ASP.NET Profiling with debug=false in the web.config file?

It's not necessary to run with debug=true but you may find it useful.. enabling debug will allow pdb files to be created so that all of your classes with source will show up in bold (this can make for easier filtering).

6. Is there any way to start profiling IIS using Chrome? I hate trying to look at web api calls using IE.

I believe the beta of v.8 should allow you to start profiling with Chrome (you can sign up for the beta program here: http://www.red-gate.com/labs/ants-memory-profiler/ but please note that this is a beta release so it may be buggy!)

Else the other option with version 7 is to minimize the IE instance that the profiler opens up when you start profiling and then just browse your site from Chrome--the profiler will still pick up on any activity from the IIS process.

7. Long shot question... I'm using JSON.Net, EntityFramework 5.0, Lucene.Net, and Bundling. Are there any known issues with these items and memory problems such as mine?

There aren't any issues that I'm aware of.
Jessica Ramos
Technical Support
Red Gate Software Ltd.
jessica.ramos
 
Posts: 235
Joined: Mon Apr 23, 2012 1:13 pm


Return to ANTS Memory Profiler 7

Who is online

Users browsing this forum: No registered users and 1 guest