Thrashing là trạng thái hệ thống dành phần lớn thời gian để swap trang vào/ra đĩa thay vì thực thi lệnh — CPU utilization tụt nhưng đĩa quay liên tục.
Nguyên nhân: tổng nhu cầu bộ nhớ (working set) của các tiến trình đang chạy vượt quá RAM vật lý. Mỗi tiến trình không đủ khung trang để giữ working set → liên tục page fault → phải nạp trang từ đĩa (chậm hơn RAM hàng vạn lần). Tệ hơn, khi CPU rảnh, scheduler tưởng cần thêm việc nên nạp thêm tiến trình → càng thiếu bộ nhớ → càng thrash (vòng xoáy).
Cách xử lý:
- Mô hình working-set: OS theo dõi tập trang mỗi tiến trình dùng gần đây, chỉ cho chạy khi đủ khung cho working set.
- Page-fault frequency (PFF): cấp/thu khung theo tần suất page fault — quá cao thì cấp thêm, quá thấp thì thu bớt.
- Giảm mức đa chương (swap hẳn vài tiến trình ra), hoặc thêm RAM.