Re: Shared Memory Sizing

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Curt Sampson <cjs(at)cynic(dot)net>
Cc: Jan Wieck <JanWieck(at)Yahoo(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Shared Memory Sizing
Date: 2002-06-30 14:54:26
Message-ID: 200206301454.g5UEsQC29930@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Curt Sampson wrote:
> On Fri, 28 Jun 2002, Bruce Momjian wrote:
>
> > You have the block in the kernel buffer when you copy it to the
> > PostgreSQL buffers, but nothing says you have to keep that block in the
> > kernel buffers while PostgreSQL has it. Only when it is written does it
> > return to the kernel, and if it is only read, it never returns to the
> > kernel.
>
> Sure. But the OS doesn't know that after you read a block it may
> immediately abandon buffering of that block. It's going to use the
> same strategy it does for any other block, which is to keep it in
> memory for a while, preferring to get rid of older blocks.
>
> If you had a way to tell the OS, "I'm buffering block X, so you
> don't need to" that would be one thing. But you don't.
>
> > > For most workloads, in the long run, that will force you to do disk
> > > I/O that you would not have had to do otherwise. A single disk I/O
> > > is far more expensive than hundreds of copies between the OS buffer
> > > cache and postgres' shared memory.
> >
> > Yes, if you swap, you went too far. That has always been the upper
> > limit.
>
> Not just swap: disk I/O for blocks that would have been buffered
> by the OS if you hadn't been using memory that it could use.

Yes, but how does a smaller PostgreSQL buffer and larger kernel buffer
fix this? It seems it only makes it works because PostgreSQL is loading
its buffers more often.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2002-06-30 15:59:57 Re: PostgreSQL Lite for low-end/embedded systems (16MB of total memory)
Previous Message Ben-Nes Michael 2002-06-30 14:32:46 SQL Puzzle