From: Keary Suska <hierophant@pcisys.net>
To: Postgres-Interfaces <pgsql-interfaces@postgresql.org>
Subject: Re: Memory Usage and libpq
Date: Tue, 04 Apr 2006 13:24:38 -0700
Message-ID: <C0582416.27D99%hierophant@pcisys.net> (raw)
In-Reply-To: <200604041423.19119.terry@esc1.com>
on 4/4/06 11:23 AM, terry@esc1.com purportedly said:
>
> On Tuesday 04 April 2006 03:14 pm, Keary Suska saith:
>> I am investigating a memory usage issue and I noticed something with libpq.
>> It appears that libpq doesn't actually free memory allocated to store
>> results, even after PQclear() is called. In a debug program I can inspect
>> the buffer so I know it exists. I haven't verified whether the buffer is
>> resized with subsequent calls, but when dealing with large result sets it
>> creates a significant memory overhead.
>>
>> Am I on to something here or do I need to keep looking? If so, is there any
>> way that I can force libpq to free or in some way drastically reduce this
>> biffer?
>
> I may be wrong about this, but just because you can access the memory after
> the call to PQclear, doesn't mean that the memory wasn't freed; it just means
> it hasn't been reused yet. The address still exists and freeing the memory
> doesn't "clear" it out.
It almost goes without saying, but it does encourage me to question whether
my debug program is showing deallocated memory, or further, if for some
reason the system/runtime isn't giving the memory back to the kernel
(something I am pursuing elsewhere). I will run a test of my own and see if
my debug program is showing deallocated memory.
Thanks,
Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: hierophant@pcisys.net
Subject: Re: Memory Usage and libpq
In-Reply-To: <C0582416.27D99%hierophant@pcisys.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox