스래싱은 메모리 지역성 붕괴가 만든 악순환이다
CPU 이용률 하락은 원인이 아니라 페이지를 기다린 결과다. 이 신호를 여유 용량으로 읽으면 동시 실행을 늘려 상황이 악화된다.
D = Σ WSSᵢ동시에 필요한 활성 페이지 수요
D ≤ m · 지역성 유지워킹 셋이 총 프레임 예산 안에 머문다.
D > m · 보장 불가일부 프로세스의 활성 페이지가 계속 밀려난다.
1 실행 대상 증가프로세스당 프레임 몫이 줄어든다.
2 지역성 이탈곧 쓸 활성 페이지까지 교체된다.
3 폴트·I/O 증가재적재·reclaim·swap 대기가 누적된다.
4 유용한 일 감소프로세스가 계산보다 메모리를 기다린다.
5 잘못된 증설낮은 CPU만 보고 실행 대상을 더 넣는다.
↺프레임 몫이 더 줄며 2단계로 되먹임
루프 끊기동시 실행을 줄이거나 중단하고, 메모리를 늘리거나 워킹 셋을 줄인다.
Linux에서 함께 보기
vmstat 1의 지속적 si/so·wa와 /proc/pressure/memory stall을 묶어 본다.과잉 진단 금지한 번의 major fault나 swap 사용량만으로는 스래싱이라고 단정할 수 없다.
핵심: 낮은 CPU를 작업 부족으로 보기 전에 워킹 셋 합계와 지속적인 메모리·I/O 대기를 확인한다.