A cache memory system can determine that an entry is stale if the entry
has not been accessed or modified for a predetermined time. If an entry
is stale, the entry may be preemptively evicted. The predetermined time
is made dynamically variable. A computer system can adjust the time to
optimize a measure of performance. In a specific example, evicted lines
are temporarily stored in an eviction queue. The time is adjusted to be
as short as possible without substantially increasing the number of lines
that must be recalled from the eviction queue.