Checkpoints write dirty pages (pages that have been modified in memory, but not written to disk) to the database device. Adaptive Server’s automatic (normal) checkpoint mechanism works to maintain a minimum recovery interval. By tracking the number of log records in the transaction log since the last checkpoint was performed, it estimates whether the time required to recover the transactions exceeds the recovery interval. If so, the checkpoint process scans all data caches and writes out all changed data pages.
When Adaptive Server has no user tasks to process, a housekeeper task begins writing dirty buffers to disk. These writes are done during the server’s idle cycles, so they are known as “free writes.” They result in improved CPU utilization and a decreased need for buffer washing during transaction processing.
If the housekeeper process finishes writing all dirty pages in all caches to disk, it checks the number of rows in the transaction log since the last checkpoint. If there are more than 100 log records, it issues a checkpoint. This is called a “free checkpoint” because it requires very little overhead. In addition, it reduces future overhead for normal checkpoints.