Re: Virtual memory leaks...
Re: Virtual memory leaks...
- Subject: Re: Virtual memory leaks...
- From: Mike Smith <email@hidden>
- Date: Thu, 3 Mar 2005 13:18:16 -0800
We have a very large application that uses a couple of dozen libraries
from various sources. Our application is leaking virtual memory.
Periodically, there is a 1 Mb bump in virtual memory, which is never
reclaimed. Over time, several days, the accumulative affects of this
leak are that we run out of virtual memory. We've tried all the
standard tools such as leaks, and MallocDebug, but our application is
too large for these. They either crash or slow our application down to
the point that it is useless.
Have you tried introspecting your application with 'heap'?
I'm wondering if there is someway for me to get my hooks into the
system allocator. If so, everytime I see a 1 Mb bump in virtual memory
I could log the stack to a file. The stack may lead me to the leak.
It's unlikely; the 1MB bump is probably the allocator grabbing a new
heap for
tiny (< 512B) objects.
You can interpose at several levels. For the ultimate in dirty tricks
(I do not
recommend this *except* for debugging purposes) look at malloc_zone_t
in <malloc/malloc.h>. You can fetch the default malloc zone (used to
back
generic malloc() calls) with malloc_default_zone().
You might also look at the malloc stack logging options. You're not
going to
survive "several days" running with it on, but it might help you locate
the sorts
of callers allocating your leaked size, which would be less painful
than catching
a lot of breakpoints.
= Mike
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden