Learning
토픽 45 / 85·메모리 관리

스레싱 (Thrashing)

스레싱 (Thrashing)

프로세스가 실행보다 페이지 교체에 더 많은 시간을 소비하는 현상으로, 다중 프로그래밍 정도가 과도하게 높을 때 발생하며 시스템 성능이 급격히 저하

목적: 메모리 관리 문제 이해, 워킹 셋 개념 학습, 성능 저하 원인 파악

특징: 페이지 폴트 급증, CPU 이용률 급락, I/O 대기 증가, 악순환

발생 원인

  • 다중 프로그래밍 정도 과다: 너무 많은 프로세스 동시 실행
  • 프레임 부족: 각 프로세스에 충분한 프레임 미할당
  • 지역성 부재: 작업 집합이 가용 프레임보다 큼

발생 과정

탐지 방법

  • 페이지 폴트 빈도(PFF) 모니터링
  • CPU 이용률 감시
  • 워킹 셋 크기 추적

해결 방법

  • 워킹 셋 모델: 각 프로세스에 워킹 셋 크기만큼 프레임 할당
  • 페이지 폴트 빈도(PFF): 상한/하한 설정, 범위 벗어나면 프레임 조정
  • 다중 프로그래밍 정도 감소: 일부 프로세스 스왑 아웃
  • 메모리 증설: 물리 메모리 추가

장점: 문제 인식 시 조기 대응 가능

단점: 탐지 지연, 성능 회복 시간 필요

적용사례: 가상 메모리 시스템, 서버 성능 튜닝, 메모리 관리

비교: 스레싱(성능급락) vs 정상 페이징(적절한 폴트율)

연관: 워킹 셋, 페이지 폴트, 가상 메모리, 다중 프로그래밍