Re: Shared Memory Sizing - Mailing list pgsql-general

From Bruce Momjian
Subject Re: Shared Memory Sizing
Date
Msg-id 200206281845.g5SIjYH21106@candle.pha.pa.us
Whole thread Raw
In response to Re: Shared Memory Sizing  (Curt Sampson <cjs@cynic.net>)
Responses Re: Shared Memory Sizing  (Curt Sampson <cjs@cynic.net>)
List pgsql-general
Curt Sampson wrote:
> Certainly. But overall, you will cache a smaller number of blocks
> because you will be buffering them twice. When you copy a block
> from the OS buffer to shared memory, the copy still exists in the
> OS buffer. So that block is now buffered twice.

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.

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

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



pgsql-general by date:

Previous
From: Kevin Brannen
Date:
Subject: serial columns & loads misfeature?
Next
From: Gregory Seidman
Date:
Subject: Re: serial columns & loads misfeature?