On Feb 17, 2010, at 6:38 PM, Greg Smith wrote:
> Ben Chobot wrote:
>> Is there a way to tell if I really am just keeping the same few pages dirty
>> throughout every checkpoint? I wouldn't have expected that, but given our
>> application I suppose it is possible.
>
> You can install pg_buffercache and look at what's in the cache to check your
> theory. I have some sample queries that show neat things at
> http://www.westnet.com/~gsmith/content/postgresql/bufcache.sh
This appears to be fairly typical:
# select count(*),isdirty,usagecount from pg_buffercache group by
isdirty,usagecount order by usagecount desc,isdirty;
count | isdirty | usagecount
--------+---------+------------
670629 | f | 5
75766 | t | 5
237311 | f | 4
5372 | t | 4
74682 | f | 3
31 | t | 3
73786 | f | 2
18 | t | 2
104112 | f | 1
62 | t | 1
68951 | f | 0
(11 rows)
Is it reading it correctly to say that the bgwriter probably wouldn't help
much, because a majority of the dirty pages appear to be popular?