On Wed, May 30, 2012 at 11:06:45AM -0700, Jeff Janes wrote:
> On Wed, May 30, 2012 at 10:57 AM, Bruce Momjian <br...@momjian.us> wrote:
> > On Wed, May 30, 2012 at 10:38:10AM -0700, Jeff Janes wrote:
> >> On Wed, May 30, 2012 at 9:56 AM, Bruce Momjian <br...@momjian.us> wrote:
> >> > As part of a blog, I started looking at how a user could measure the
> >> > pressure on shared buffers, e.g. how much are they being used, recycled,
> >> > etc.
> >> >
> >> > They way you normally do it on older operating systems is to see how
> >> > many buffers on the free list (about to be reused) are reclaimed as
> >> > needed --- that usually indicates kernel cache pressure.  Unfortunately,
> >> > we don't have a freelist, except for initial assignment of shared
> >> > buffers on startup.
> >>
> >> Isn't that what the buffers_alloc from pg_stat_bgwriter is ?
> >
> > The issue is that once a buffer is removed from the free list, it is
> > never returned to the free list.
> 
> A buffer doesn't need to be removed from the linked list in order for
> buffers_alloc to get incremented.

Seems buffers_alloc is the number of calls to StrategyGetBuffer(), which
tells how many time we have requested a buffer.  Not sure how that helps
measure buffer pressure.

> Conceptually, the freelist consists not only of the linked list, but
> also of all unpinned buffers with a usagecount of zero.

True.  I guess my problem is can't find out how many of those
zero-uage-count buffers are being reclaimed as needed.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to