investigating unmanaged memory
Date: Mon, 1 Mar 2004 17:51:57 -0500
I was looking at some performance counters related to my application. The
private bytes comes out to be around 110 MB and the #Bytes in Heap, around,
24 MB. This would indicate that about 86 MB is being taken up by unmanaged
memory. Our application does interop to a few COM objects. How can i peek
into this memory and find out which objects comprise the native/unmanaged
memory portion of the application private bytes? My understanding is CLR
profiler only looks at managed heap. Thanks.
Relevant Pages
- Re: Memory management terminology
... We've ruled out a memory ... and let's assume that heap fragmentation is not the problem. ... While not directly a memory leak, ... it is indeed "private bytes" that we're measuring. ... (microsoft.public.vc.language) - classes, pointers, vectors, and memory allocation
... ptr1 and ptr2 will be dynamically allocated in the heap, ... does A's memory get enlarged as a whole chunk? ... is not enough space for the whole chunk, will A get copied into another ... (comp.lang.cpp) - Re: VM Leak?
... Using the vmmap tool, we saw that the private space was the one that had grown to over 1.9GB, however, of that, only about 700-800MB was committed. ... the application would run out of VM space and memory allocation would fail. ... I modified our code to use a single heap for the dynamic threads, however, this did not change the outcome of the test. ... (microsoft.public.win32.programmer.kernel) - Re: Tracking a memory leak.
... I know that TaskManager may not be the best place to see what is the true way to gauge memory usage and/or presense of memory leaks. ... You should take a look at the "CLR Memory performance" counters, notably the Gen0, 1, 2 and Large Object heap counters are of interest. ... What is shown in Taskman is the size of your process Working Set or the Private Bytes, the GC allocates and de-allocates object space from a Private Heap holding the above generational heaps, this Private Heap,w which is part of the Private Bytes and the Working Set, grows, by requesting new segments from the OS, whenever the Generational heap 0 is full and the GC needs more space to allocate objects from. ... The CLR "Memory Allocator" de-commits the pages that were previously occupied by object data, and returns the Segment to the OS when *all pages* from that segment are decommited. ... (microsoft.public.dotnet.languages.csharp) - Re: Lcc-win32 extensions to C
... compiled with a C++ compiler or a C compiler. ... Yes, but if you do not use GC, you allocate more memory than needed to ... Using a non-GC'ed heap+ a GC'ed heap requires also more memory... ... Collector, since GC technologies are much more advanced than simple ... (comp.std.c) |
|