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 по дате отправления: