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.
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 |
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 |