> 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.
|