Re: BUG #1739: memory leak in pl/perl with spi_exec_query

Поиск
Список
Период
Сортировка
От Jean-Max Reymond
Тема Re: BUG #1739: memory leak in pl/perl with spi_exec_query
Дата
Msg-id 42C3F815.5020509@ckr-solutions.com
обсуждение исходный текст
Ответ на BUG #1739: memory leak in pl/perl with spi_exec_query  ("Jean-Max Reymond" <jmreymond@ckr-solutions.com>)
Ответы Re: BUG #1739: memory leak in pl/perl with spi_exec_query  (Jean-Max Reymond <jmreymond@ckr-solutions.com>)
Список pgsql-bugs
Jean-Max Reymond a écrit :

>The following bug has been logged online:
>
>Bug reference:      1739
>Logged by:          Jean-Max Reymond
>Email address:      jmreymond@ckr-solutions.com
>PostgreSQL version: 8.0.3
>Operating system:   Linux Ubuntu
>Description:        memory leak in pl/perl with spi_exec_query
>Details:
>
>whith this code 1, postmaster is growing and growing and eat a lot of
>memory
>
>CREATE FUNCTION jmax() RETURNS integer
>   AS $_$use strict;
>
>for (my $i=0; $i<10000000;$i++) {
>       spi_exec_query("select 'foo'");
>}
>my $j=1;$_$
>   LANGUAGE plperlu SECURITY DEFINER
>
>With code 2, we can see that perl does correctly the job to unreference
>unused memory
>
>CREATE FUNCTION jmax() RETURNS integer
>   AS $_$use strict;
>
>for (my $i=0; $i<10000000;$i++) {
>       my $ch = "0123456789"x100000;
>}
>my $j=1;$_$
>   LANGUAGE plperlu SECURITY DEFINER
>
>With code 3, we try to help pl/perl to clean memory allocation
>
>CREATE FUNCTION jmax() RETURNS integer
>   AS $_$use strict;
>
>for (my $i=0; $i<10000000;$i++) {
>       my ch=spi_exec_query("select 'foo'");
>}
>my $j=1;$_$
>   LANGUAGE plperlu SECURITY DEFINER
>
>
>So, spi_exec_query allocates memory but this memory is never released until
>the end of the stored procedure.
>For my application, the need is to call millions of spy_exec and we use 1.1
>Gb of not necessary memory.
>
>A workaround could be to provide a routine to free the memory allocated by
>spi_exec_query
>
>---------------------------(end of broadcast)---------------------------
>TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>
>
can anyone confirm this behavior ?
is it normal to have allocated memory in the pool even if this memory is
unreferenced ?
I am searching in the code but it is not very easy :-(



Вложения

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

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: BUG #1740: Deferred foreign key constraint isn't deferred
Следующее
От: Ruslan A Dautkhanov
Дата:
Сообщение: async. query processing