Re: Memory and/or cache issues?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Title: Message
For a standard config most of the memory used by Postgres is the shared buffers.  The shared buffers are a cache to store blocks read from the disk, so if you do a query, Postgres will allocate and fill the shared buffers up to the max amount you set in your postgresql.conf file.  Postgres doesn't release that memory between queries because the point is to be able to pull data from ram instead of the disk on the next query.
 
Are you sure your settings in postgresql.conf are standard?  What are your settings for shared_buffers and work_mem?
 
 
-----Original Message-----
From: pgsql-performance-owner@xxxxxxxxxxxxxx [mailto:pgsql-performance-owner@xxxxxxxxxxxxxx] On Behalf Of mcelroy, tim
Sent: Friday, May 05, 2006 8:58 AM
To: 'Tom Lane'
Cc: pgsql-performance@xxxxxxxxxxxxxx
Subject: Re: [PERFORM] Memory and/or cache issues?

Are you saying the kernel's disc cache may be getting whacked?  No, I understand that PG should use as much memory as it can and the system as well.  The main problem here is that with almost all the 8GB of RAM 'in use' when I try to do a pg_dump or vacuumdb I run out of memory and the system crashes....

I well understand that unused memory is not a good thing, just that when you have none and can't do the maint work....bad stuff happens.  For example, I just created a benchdb on my DEV box with 1,000,000 tuples.  As this ran the mem in use jumped up 1G and it hasn't gone down?  Once the PG process has finished its task shouldn't it release the memory it used?

Thanks,
Tim


 -----Original Message-----
From:   Tom Lane [mailto:tgl@xxxxxxxxxxxxx]
Sent:   Friday, May 05, 2006 9:44 AM
To:     mcelroy, tim
Cc:     pgsql-performance@xxxxxxxxxxxxxx
Subject:        Re: [PERFORM] Memory and/or cache issues?

"mcelroy, tim" <tim.mcelroy@xxxxxxxxxxxxxxx> writes:
> I see this on all the postgres installations, no matter what I
> set the postgresql.conf settings to regarding memory allocation, once
> postgres starts up 95% of the memory on the box is used.  Is there a way
> within Linux to 'see' what or who is actually using this memory?

Probably kernel disk cache.  Are you under the misimpression that unused
memory is a good thing?  If a Unix-ish system *isn't* showing near zero
free memory under load, the kernel is wasting valuable resources.

                        regards, tom lane


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux