How thrashing develops
- Insufficient frames
- Excessive multiprogramming or poor allocation leaves too few frames for the pages currently needed.
- More page faults
- Needed pages are absent from RAM and must be brought into memory more often.
- Excessive replacement
- Evicted pages are repeatedly reloaded, increasing paging I/O and waiting.
- Lower performance
- Throughput falls and responses slow down. CPU utilization may also fall.
CPU utilization curve
A qualitative diagram for a fixed memory capacity. The three regions help explain the curve; they are not an official three-stage algorithm or exact thresholds.
- Rising region
- More concurrent processes → higher CPU utilization
- Near the peak
- Insufficient frames → more page faults
- Falling region
- Repeated replacement and I/O waits → lower CPU utilization
Prevention and control
- Working-set management
- Allocate enough frames to retain the set of pages referenced within the recent observation window.
- Page Fault Frequency (PFF) control
- Allocate more frames above the upper bound; consider reclaiming frames below the lower bound.
- Control multiprogramming
- If additional frames are unavailable, suspend some processes and reclaim their frames.
Control considerations
- Observation window
- Too short a window misses needed pages; too long a window includes pages from past work.
- Total demand
- Reduce multiprogramming when the sum of working-set sizes exceeds the total frames available for allocation.