DB2 10.5 for Linux, UNIX, and Windows

num_iocleaners - Number of asynchronous page cleaners configuration parameter

This parameter allows you to specify the number of asynchronous page cleaners for a database.

Configuration type
Database
Parameter type
  • Configurable
  • Configurable by member in a DB2® pureScale® environment
Default [range]
Automatic [0 - 255 ]
Note: The default value is subject to change by the DB2 Configuration Advisor after initial database creation.
Unit of measure
Counter

The number of castout engines is equal to the value that is set for the num_iocleaners configuration parameter. However, the maximum number of castout engines is 128.

These page cleaners write changed pages from the buffer pool to disk before the space in the buffer pool is required by a database agent. As a result, database agents should not have to wait for changed pages to be written out so that they might use the space in the buffer pool. This improves overall performance of the database applications.

The page cleaners will also decrease recovery time from soft failures, such as power outages, because the contents of the database on disk will be more up-to-date at any given time.

If this parameter is set to AUTOMATIC, the number of page cleaners started will be based on the number of physical CPU cores configured on the current machine, as well as the number of local logical database partitions in a partitioned database environment. There will always be at least one page cleaner started when this parameter is set to AUTOMATIC.

The number of page cleaners to start when this parameter is set to AUTOMATIC will be calculated using the following formula:
number of page cleaners = max( ceil( # CPUs / # local logical DPs ) - 1, 1 )
This formula ensures that the number of page cleaners is distributed almost evenly across your logical database partitions, and that there are no more page cleaners than there are physical CPU cores.
Note: On the HP-UX platform, you must use the number of logical CPUs in the calculation, instead of the number of physical CPU cores.
Recommendation: Consider the following factors when setting the value for this parameter:
  • Workload

    Environments with high update transaction rates might require more page cleaners to be configured. This is only applicable when DB2_USE_ALTERNATE_PAGE_CLEANING is OFF, which is also the default value.

  • Buffer pool sizes

    Environments with large buffer pools might also require more page cleaners to be configured. This is only applicable when DB2_USE_ALTERNATE_PAGE_CLEANING is OFF, which is also the default value.

You can use the database system monitor to help you tune this configuration parameter using information from the event monitor about write activity from a buffer pool:
  • The parameter can be reduced if both of the following conditions are true:
    • pool_data_writes is approximately equal to pool_async_data_writes
    • pool_index_writes is approximately equal to pool_async_index_writes.
      Note: Reducing to a lower value, than what is computed via AUTOMATIC, is not recommended.
  • The parameter should be increased if either of the following conditions are true:
    • pool_data_writes is much greater than pool_async_data_writes
    • pool_index_writes is much greater than pool_async_index_writes.