Everything leaks; How it mm suppose to work?

Поиск
Список
Период
Сортировка
От Maurice Gittens
Тема Everything leaks; How it mm suppose to work?
Дата
Msg-id 199804021340.PAA25443@david.gits.nl
обсуждение исходный текст
Ответы Re: [HACKERS] Everything leaks; How it mm suppose to work?
Re: [HACKERS] Everything leaks; How it mm suppose to work?
Список 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.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Thomas G. Lockhart"
Дата:
Сообщение: Re: [HACKERS] [Q]process for 'contains'.
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] Reminder: Indices are not used