Native Memory

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

Native Memory

Post by Guest » Wed Aug 03, 2005 11:50 am

Hi. I'm trying to find a rather major leak. I believe that some unmanaged code is generating this leak and wanted some clarification of the "Native Memory" portion of the profiler to help with this.
Manual wrote:Other Data
This node is only presented for the profiled process.

Other data memory is memory that can be private, shared or potentially shared. This memory can be resources of a module, allocated memory using VirtualAlloc etc.

The profiler tries to match the memory with the file (.exe, .dll or memory mapped file) that contains the data. If it succeeds, the memory is presented under the Other data node using the name of the matched module, otherwise the memory is presented as “<Other>”.
The program I have has a rather large amount of memory in this "<Other>" category. Could this be, as I suspect, unmanaged code?

What sorts of things would lead to large amounts of memory (which is continually growing) being show simply as "<Other>" ?

I, and my team, are becoming perplexed as to the cause as the leak is not showing up in any of the managed code classes. Any help would be appreciated, thanks.

Matt.

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Wed Aug 03, 2005 7:25 pm

It is not possible to obtain detailed information about the native memory in the current version. Below is a quote from another thread, which I believe applies to your question as well:
The thread Win32 heap and <Other> in the General forum wrote:The "Other data" and "Win32 heaps" nodes contain memory that we have not been able to identify (i.e. it's not part of the managed heaps, or a module). It’s possible that the unidentified memory is used by unmanaged resources wrapped in managed classes (which are usually disposable). If you use such classes (bitmaps, database connections, etc.), I recommend that you make sure that they are correctly disposed (using the dispose tracker).

Unfortunately, the current version of the profiler does not present unmanaged resources used by the profiled process. We’re currently working on an unmanaged resource tracker, which will be included in v3.0 of the profiler. This resource tracker will give you more detailed information about the native memory usage of your application, but currently we only provide detailed information about the managed heaps.
Best regards,

Andreas Suurkuusk
SciTech Software AB

Guest

Post by Guest » Fri Aug 05, 2005 2:52 pm

That answers it I think. Thank you for the quick response :)

Guest

Post by Guest » Tue Aug 09, 2005 3:00 pm

I'm having exactly the same problem... Does anyone know of a utility that will list help me identify what is using this memory?

(I feel a bit rude asking this here, but we're at our wids end trying to identify this memory leak!)

d.brophy
Posts: 1
Joined: Tue Aug 09, 2005 2:56 pm

Post by d.brophy » Tue Aug 09, 2005 3:02 pm

Apologies - posted as guest...

I'm having exactly the same problem... Does anyone know of a utility that will list help me identify what is using this memory?

(I feel a bit rude asking this here, but we're at our wids end trying to identify this memory leak!)

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests