Re: Shared memory usage

From: "Max Zorloff" <zorloff(at)gmail(dot)com>
To: "Greg Smith" <gsmith(at)gregsmith(dot)com>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Shared memory usage
Date: 2007-08-30 06:40:32
Message-ID: op.txu0tugmll0p5y@1-rtt202dnf3uds.mshome.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-performance

On Wed, 29 Aug 2007 23:26:06 +0400, Greg Smith <gsmith(at)gregsmith(dot)com>
wrote:

> First off, posting to two lists like you did (-general and -performance)
> is frowned on here. Pick whichever is more appropriate for the topic
> and post to just that one; in your case, the performance list would be
> more appropriate, and I'm only replying to there.

Sorry, didn't know that.

> On Sun, 26 Aug 2007, Max Zorloff wrote:
>
>> shared_buffers is set to 60000, yet they use a minimal part of that.
>> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
>> 11492 postgres 16 0 530m 72m 60m S 14 1.2 0:50.91 postmaster
>
> Looks to me like PostgreSQL is grabbing 530MB worth of memory on your
> system. run the ipcs command to see how big the block that's dedicated
> to the main server is; I suspect you'll find it's at 400MB just like you
> expect it to be. Here's an example from my server which has a 256MB
> shared_buffers:
>
> -bash-3.00$ ipcs
> ------ Shared Memory Segments --------
> key shmid owner perms bytes nattch status
> 0x0052e2c1 1114114 postgres 600 277856256 3
>
> Also: when you've got top running, hit the "c" key and the postmaster
> processes will give you more information about what they're doing you
> may find helpful.
>
>> All the indexes and half of the database should be in the shared
>> memory, is it not? Or am I completely missing what are the
>> shared_buffers for? If so, then how do I put my indexes and at least a
>> part of the data into memory?
>
> You can find out what's inside the shared_buffers cache by using the
> installing the contrib/pg_buffercache module against your database. The
> README.pg_buffercache file in there gives instructions on how to install
> it, and the sample query provided there should tell you what you're
> looking for here.

Thanks, I'll see that.

>> Where do I find my OS disk cache settings? I'm using Linux.
>
> You can get a summary of how much memory Linux is using to cache data by
> running the free command, and more in-depth information is available if
> you look at the /proc/meminfo information. I have a paper you may find
> helpful here, it has more detail in it than you need but it provides
> some pointers to resources to help you better understand how memory
> management in Linux works:
> http://www.westnet.com/~gsmith/content/linux-pdflush.htm

Thanks for that, too.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ow Mun Heng 2007-08-30 06:59:06 \copy only select rows
Previous Message Denis Gasparin 2007-08-30 06:36:59 Re: Question regarding autovacuum in 8.1

Browse pgsql-performance by date

  From Date Subject
Next Message ruben 2007-08-30 07:52:16 Re: Postgres performance problem
Previous Message Alan Hodgson 2007-08-29 20:36:48 Re: Transaction Log