Skip to content

More memory, more faults

The situation

A team runs a batch job under a FIFO page replacement policy. The page reference string, captured from a profiler, is:

1 2 3 4 1 2 5 1 2 3 4 5

With 3 frames the job takes 9 page faults.

They give the job a fourth frame, expecting an improvement, and measure 10 page faults.

Nothing else changed: same reference string, same policy, one more frame.

For comparison, on a longer reference string the same team measured, with 3 frames: FIFO 15 faults, LRU 12, and optimal 9.

Going from 3 frames to 4 raised the fault count from 9 to 10. What is happening?