Out of memory problem

Started by Nicola Farinaover 16 years ago4 messagesgeneral
Jump to latest
#1Nicola Farina
nicola.farina@info-line.it

Hello

I am using PostgreSQL 8.3.7, compiled by Visual C++ build 1400 under
win32 on a pc with 2 gb ram.
I need to use a long running plperlu stored procedure which actually
seems to make pg consume lot of memory
till a point in which pg crashes.

I have a log with these messages:

<<
Out of memory!
Callback called exit at C:\Perl\lib/DBD/Oracle.pm line 273.

Callback called exit at C:\Perl\lib/DBD/Oracle.pm line 273.

2009-12-30 10:44:35 CET FATAL: pre-existing shared memory block is
still in use
2009-12-30 10:44:35 CET HINT: Check if there are any old server
processes still running, and terminate them.

I am using default pg settings.
Is it possible, in your opinion, that changing some pg memory parameters
could solve this issue ?
May you point me to the relevant docs ?
Thanks in advance
Bye
Nicola

--
Nicola Farina

Ufficio Progetti

Info Line Srl, Via Colorno 63/a, 43122 Parma
Tel 0521-609811
Fax 0521-606924
e-mail: nicola.farina@info-line.it
sito web: http://www.info-line.it

*** AVVISO di RISERVATEZZA ***

Ai sensi del D.lgs 196/03 si precisa che il contenuto di questo messaggio � rivolto unicamente alle persone cui � indirizzato e pu� contenere informazioni la cui riservatezza � tutelata legalmente.
Ne sono vietati la riproduzione, la diffusione e l'uso in mancanza di autorizzazione del destinatario. Se l'avete ricevuto per errore vogliate eliminare il messaggio in modo permanente e darcene cortesemente notizia rispondendo all'indirizzo:
segreteria@info-line.it

#2Craig Ringer
craig@2ndquadrant.com
In reply to: Nicola Farina (#1)
Re: Out of memory problem

On 30/12/2009 6:35 PM, Nicola Farina wrote:

Hello

I am using PostgreSQL 8.3.7, compiled by Visual C++ build 1400 under
win32 on a pc with 2 gb ram.
I need to use a long running plperlu stored procedure which actually
seems to make pg consume lot of memory
till a point in which pg crashes.

Can you post the procedure code, or at least a description of what it
does? Without knowing that, it's essentially impossible to answer your
question.

--
Craig Ringer

#3Nicola Farina
nicola.farina@info-line.it
In reply to: Craig Ringer (#2)
Re: Out of memory problem

The procedure is create_accessors_methods in the dbi_link package
which you can find at:
http://pgfoundry.org/projects/dbi-link/
I've slightly modified the code to adapt it better to Oracle.
Basically it is a procedure which builds a lot of views and tables based
on objects (synonyms in my case)
found in an Oracle schema.

I've tried to increase shared_buffers to 512 (from 32) mb
but the process crashed even before...
I think I'll try decreasing ... just a shot in the dark ...

thanks
bye
Nicola

Craig Ringer wrote:

On 30/12/2009 6:35 PM, Nicola Farina wrote:

Hello

I am using PostgreSQL 8.3.7, compiled by Visual C++ build 1400 under
win32 on a pc with 2 gb ram.
I need to use a long running plperlu stored procedure which actually
seems to make pg consume lot of memory
till a point in which pg crashes.

Can you post the procedure code, or at least a description of what it
does? Without knowing that, it's essentially impossible to answer your
question.

--
Craig Ringer

--
Nicola Farina

Ufficio Progetti

Info Line Srl, Via Colorno 63/a, 43122 Parma
Tel 0521-609811
Fax 0521-606924
e-mail: nicola.farina@info-line.it
sito web: http://www.info-line.it

*** AVVISO di RISERVATEZZA ***

Ai sensi del D.lgs 196/03 si precisa che il contenuto di questo messaggio � rivolto unicamente alle persone cui � indirizzato e pu� contenere informazioni la cui riservatezza � tutelata legalmente.
Ne sono vietati la riproduzione, la diffusione e l'uso in mancanza di autorizzazione del destinatario. Se l'avete ricevuto per errore vogliate eliminare il messaggio in modo permanente e darcene cortesemente notizia rispondendo all'indirizzo:
segreteria@info-line.it

#4Nicola Farina
nicola.farina@info-line.it
In reply to: Craig Ringer (#2)
Re: Out of memory problem

It seems that the process goes a little further lowering shared_buffers
but I've reached the minimum (128kB with max_connections = 2)
without reaching the end .....
Are there any chances to break the 128kb limit ?
Or do I need to break this process in two smaller parts (not easy for me
....) ?

Craig Ringer wrote:

On 30/12/2009 6:35 PM, Nicola Farina wrote:

Hello

I am using PostgreSQL 8.3.7, compiled by Visual C++ build 1400 under
win32 on a pc with 2 gb ram.
I need to use a long running plperlu stored procedure which actually
seems to make pg consume lot of memory
till a point in which pg crashes.

Can you post the procedure code, or at least a description of what it
does? Without knowing that, it's essentially impossible to answer your
question.

--
Craig Ringer

--
Nicola Farina

Ufficio Progetti

Info Line Srl, Via Colorno 63/a, 43122 Parma
Tel 0521-609811
Fax 0521-606924
e-mail: nicola.farina@info-line.it
sito web: http://www.info-line.it

*** AVVISO di RISERVATEZZA ***

Ai sensi del D.lgs 196/03 si precisa che il contenuto di questo messaggio � rivolto unicamente alle persone cui � indirizzato e pu� contenere informazioni la cui riservatezza � tutelata legalmente.
Ne sono vietati la riproduzione, la diffusione e l'uso in mancanza di autorizzazione del destinatario. Se l'avete ricevuto per errore vogliate eliminare il messaggio in modo permanente e darcene cortesemente notizia rispondendo all'indirizzo:
segreteria@info-line.it