Re: plperl doesn't release memory

Поиск
Список
Период
Сортировка
От Sven Willenberger
Тема Re: plperl doesn't release memory
Дата
Msg-id 1111702494.11769.51.camel@lanshark.dmv.com
обсуждение исходный текст
Ответ на Re: plperl doesn't release memory  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On Thu, 2005-03-24 at 15:52 -0500, Tom Lane wrote:
> Sven Willenberger <sven@dmv.com> writes:
> > Yes, on these systems, perl was build with -Dusemymalloc (and
> > concurrently -Ui_malloc) so there could very well be an issue with
> > malloc pools going awry. Doing a quick dig reveals that Linux tends to
> > build perl (by default) with the system malloc which may explain why
> > your script did not display this same behavior.
>
> I can confirm that my copy is not using mymalloc:
>
> $ perl -V | grep -i alloc
>     usemymalloc=n, bincompat5005=undef

I went ahead and rebuilt perl using the system malloc instead, and what
I found was that on the function that started this whole topic, the
memory allocation went overboard and postgresql bailed with "out of
memory". Using the perl malloc, apparently postgres/plperl/libperl was
able to manage the memory load although it got "stuck" for the session.

Closing the session (psql) did end up freeing all the memory, at least
from top's perspective (since the process no longer existed) -- running
the query from the command line (psql -c "select function()") worked
over several iterations so I do believe that the memory does get freed
upon closing the connection. In fact we were able to run the query using
this method with 4 simulaneous connections and, although we went heavy
into swap , all four did complete. So the issue can be narrowed down to
a per-connection basis where the amount of memory needed by the function
would normally exceed available memory; the handler for this "overflow"
does something with the extra memory needed such that subsequent
invocations of the function during the same connection end up eventually
creating a malloc error.

(This is inconsistent with the behavior on the 8G opteron system ... but
I will reevaluate the issue I saw there and see if it is related to
something else).

Sven



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

Предыдущее
От: "Guy Rouillier"
Дата:
Сообщение: Re: Converting from single user w/pool to multiple users
Следующее
От: Jeff Amiel
Дата:
Сообщение: Re: Converting from single user w/pool to multiple users