From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Odd off-by-one dirty buffers and checkpoint buffers written |
Date: | 2022-04-20 00:51:24 |
Message-ID: | CAKFQuwYQub49cNg_vpfJew3QS0Jgji2tx=AE8=_nx83XkzQs+w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Apr 19, 2022 at 4:36 PM Nathan Bossart <nathandbossart(at)gmail(dot)com>
wrote:
> On Tue, Apr 19, 2022 at 04:21:21PM -0700, David G. Johnston wrote:
> > I've done this four times in a row and while the number of dirty buffers
> > shown each time vary (see below) I see that "wrote N buffers" is always
> > exactly one more than the total count of dirty buffers. I'm just curious
> > if anyone has a quick answer for this unusual correspondence.
>
> I see that SlruInternalWritePage() increments ckpt_bufs_written, so my
> first guess would be that it's due to something like CheckPointCLOG().
>
>
I peeked at pg_stat_bgwriter and see an increase in buffers_checkpoint
matching the dirty buffers number.
I also looked at pg_stat_slru to try and find the corresponding change
caused by:
slru.c:766 (SlruPhysicalWritePage)
pgstat_count_slru_page_written(shared->slru_stats_idx);
I do see (Xact) blks_hit change during this process (after the
update/commit, not the checkpoint, though) but it increases by 2 when dirty
buffers is 4. I was expecting 4, thinking that blocks and buffers and
pages are basically the same things (which [1] seems to affirm).
https://www.postgresql.org/message-id/13563.1044552279%40sss.pgh.pa.us
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | Martín Marqués | 2022-04-20 01:12:32 | Re: Postgres restart in the middle of exclusive backup and the presence of backup_label file |
Previous Message | Japin Li | 2022-04-20 00:50:22 | Re: Replace open mode with PG_BINARY_R/W/A macros |