Proactive page cleaning

You can configure page cleaners on your system to be proactive with the DB2_USE_ALTERNATE_PAGE_CLEANING registry variable. When you set the DB2_USE_ALTERNATE_PAGE_CLEANING registry variable to ON, page cleaners behave more proactively in choosing which dirty pages get written out.

This proactive page cleaning method differs from the default page cleaning method in two major ways:
  • Page cleaners no longer respond to the value of the chngpgs_thresh database configuration parameter.

    When the number of good victim pages is less than an acceptable value, page cleaners search the entire buffer pool, writing out potential victim pages and informing the agents of the location of these pages.

  • Page cleaners now proactively handle log sequence number (LSN) gaps, and no longer responding to LSN gap triggers issued by the logger.

    When the oldest dirty page in the buffer pool exceeds the configured time for the page_age_trgt_mcr database configuration parameter, the database is said to be experiencing an LSN gap.

    Under the default page cleaning method, a logger that detects an LSN gap triggers the page cleaners to write out all the pages that are contributing to the LSN gap; that is, the page cleaners write out those pages that are older than what is allowed by the value of page_age_trgt_mcr. Page cleaners alternate between idleness and bursts of activity writing large numbers of pages. This can result in saturation of the I/O subsystem, which then affects other agents that are reading or writing pages. Moreover, by the time that an LSN gap is detected, the page cleaners might not be able to clean fast enough, and Db2® might run out of log space.

    The proactive page cleaning method modulates this behavior by distributing the same number of writes over a longer period of time. The page cleaners do this by cleaning not only the pages that are contributing to an LSN gap, but also pages that are likely to contribute to an impending LSN gap, based on the current level of activity.

To use the new page cleaning method, set the DB2_USE_ALTERNATE_PAGE_CLEANING registry variable to on.