Re: GDB STL Memory Usage Issue

Ravi Ramaseshan
2007-04-10T14:36:47Z

On 4/10/07, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> > Date: Mon, 9 Apr 2007 19:40:58 -0400
> > From: "Ravi Ramaseshan" <ramaseshan.ravi@gmail.com>
> >
> > Hi,
> >
> > I observed some strange behavior with the following system that I
> > would like to know more about:
> >
> > I'm compiling a very memory intensive C++ application that uses STL
> > (hashmaps of lists). Every few seconds I erase() the entire hashmap
> > (and the lists). When I run the program standalone and examine the
> > memory usage using top, I see the total virtual memory of the program
> > grow (sometimes to 60+MB) before the erase call and after the erase
> > call drop down to a few MB - which is the behavior I would expect.
> >
> > However, when I run the same program through GDB, the erase() does not
> > seem to have any effect and the virtual memory usage keeps on rising -
> > which I do not understand.
> >
> > I am using GCC 4.0.3, GDB 6.4 and am compiling the program with
> > debugging information. I would like to understand the reasons for such
> > a behavior of my program under GDB.
> >
> > Thanks in advance,
>
> Smells like an operating system bug to me.
>
>

I am running an Ubuntu system 2.6.15-28-686 kernel, if that helps
anyone explain the problem I observed.