Re: [GENERAL] postgres memory management - Mailing list pgsql-jdbc

From Alexander Jerusalem
Subject Re: [GENERAL] postgres memory management
Date
Msg-id 4.3.2.7.0.20010123003401.00b77520@pop.gmx.net
Whole thread Raw
In response to Re: [GENERAL] postgres memory management  (Peter Mount <peter@retep.org.uk>)
List pgsql-jdbc
At 21:40 22.01.01, Peter Mount wrote:
>At 13:18 21/01/01 +0100, Alexander Jerusalem wrote:
>>Hi all,
>>
>>I'm experiencing some strange behaviour with postgresql 7.0.3 on Red Hat
>>Linux 7. I'm sending lots of insert statements to the postgresql server
>>>from another machine via JDBC. During that process postgresql continues to
>>take up more and more memory and seemingly never returns it to the
>>system. Oddly if I watch the postmaster and it's sub processes in ktop, I
>>can't see which process takes up this memory. ktop shows that the
>>postgresql related processes have a constant memory usage but the overall
>>memory usage always increases as long as I continue to send insert statements.
>>
>>When the database connection is closed, no memory is reclaimed, the
>>overall memory usage stays the same. And when I close down all postgresql
>>processes including postmaster, it's the same.
>>I'm rather new to Linux and postgresql so I'm not sure if I should call
>>this a memory leak :-)
>>Has anybody experienced a similar thing?
>
>I'm not sure myself. You can rule out JDBC (or Java) here as you say you
>are connecting from another machine.
>
>When your JDBC app closes, does it call the connection's close() method?
>Does any messages like "Unexpected EOF from client" appear on the server side?
>
>The only other thing that comes to mine is possibly something weird is
>happening with IPC. After you closed down postgres, does ipcclean free up
>any memory?
>
>I'm cc'in the hackers list and the new jdbc list.
>
>Peter

Thanks for your answer!

Yes I'm calling Connection.close(). I don't get any error messages but
maybe I just don't see them because postgresql is started automatically at
run level 3. I'm not sure where the output goes. (pg_log contains only
garbage or maybe it's a binary file) I tried ipcclean right now and it
doesn't free the memory but it gives me some messages that I cannot interpret:

Shared memory 0 ... skipped. Process still exists (pid ).
Shared memory 1 ... skipped. Process still exists (pid ).
Shared memory 2 ... skipped. Process still exists (pid ).
Shared memory 3 ... skipped. Process still exists (pid ).
Semaphore 0 ... resource(s) deleted
Semaphore 1 ... resource(s) deleted

Oddly, when I try to run ipcclean a second time, it says: ipcclean: You
still have a postmaster running. Which is not the case as ps -e proves.

Alexander Jerusalem
ajeru@gmx.net
vknn


pgsql-jdbc by date:

Previous
From: "Kogotkov, Vyacheslav"
Date:
Subject: FW: JDBC2 question -- can't find files needed
Next
From: Alfred Perlstein
Date:
Subject: Re: [HACKERS] Re: [GENERAL] postgres memory management