2-58 IBM Informix OnLine Database Server Administrator’s Guide

LRU Queues and Buffer Pool Management

LRU Queues and Buffer Pool Management
Before processing begins, all page buffers are empty. Every page buffer is
associated with a buffer header in the buffer table. Every buffer header is
represented by an entry in one of theFLRU queues. The buffer headers are
evenly distributed among the FLRU queues. (Refer to page 2-57 for more
information about theFLRU and MLRU queues.)
Whena user process needs to acquire a buffer, OnLine randomly selects one
ofthe FLRU queues and uses the “oldest” or “least-recently used” entry in the
list.If the least-recently used page can be latched, that page is removed from
the queue.
If the FLRU queue is locked and the end page cannot be latched, OnLine
randomly selects anotherFLRU queue.
If a user process is searching for a specific page currently stored in shared
memory, it obtains the page’s LRU queue location from the control infor-
mation stored in the buffer table.
Afteran executing process finishes its work, it releases the buffer. If the page
hasbeen modified, the buffer is placed at the “most-recently used” end of an
MLRUqueue. If the page was read but not modified, the buffer is returned to
the FLRU queue at its “most-recently used” end.
You can monitorLRU status by executing the command tbstat -R.