Re: [HACKERS] Everything leaks; How it mm suppose to work?

From: dg(at)illustra(dot)com (David Gould)
To: mgittens(at)david(dot)gits(dot)nl (Maurice Gittens)
Cc: hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Everything leaks; How it mm suppose to work?
Date: 1998-04-03 06:24:42
Message-ID: 9804030624.AA12125@hawk.illustra.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Hi,
>
> I added these lines to tcop/postgres.c just before the ReadCommand call
> (which is in an infinite loop).
>
> + printf("Allocount: %ld; FreeCount: %ld; Diff:%ld\n",
> + getPAllocCount(),
> + getPFreeCount(),
> + getPAllocCount() - getPFreeCount());
> +
>
> And the following lines to mmgr/palloc.c
>
> + static long pallocCount = 0;
> + static long pfreeCount = 0;
> +
> + long getPAllocCount()
> + {
> + return pallocCount;
> + }
> +
> + long getPFreeCount()
> + {
> + return pfreeCount;
> + }
>
> void *
> palloc(Size size)
> {
> + pallocCount++;
> ...
>
> void
> pfree(void *pointer)
> {
> + pfreeCount++;
> ...
>
> Running postgresql in interactive mode shows that for each query I
> type there is memory lost. The exact amount of memory lost depends on
> the query I use. The amount of memory not freed is also a function
> of the number of tuples returned.
>
> Now I'm hoping there is an easy way to find out about how this is _supposed_
> to work. Any one feel like giving a nice little explanation?
>
> Thanks, with regards from Maurice.
>

The term "getPAllocCount() - getPFreeCount())" returns the amount of
memory not explicitly freed. The rest of the memory was (probably) released
by MemoryContextDestroy() when the context went out of scope.

This is normal behavior under the current scheme.

-dg

David Gould dg(at)illustra(dot)com 510.628.3783 or 510.305.9468
Informix Software (No, really) 300 Lakeside Drive Oakland, CA 94612
If simplicity worked, the world would be overrun with insects.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Gould 1998-04-03 07:07:47 Re: [HACKERS] Its not my fault. Its SEG's FAULT!
Previous Message Brett McCormick 1998-04-03 05:42:53 inherited sequences and primary keys