Skip to main content

Thrashing, 스레싱

· 3 min read

스레싱의 개념

  • 멀티프로세싱 환경에서 빈번한 페이지 교체로 실제 프로세스 실행보다 페이지 교체에 더 많은 시간을 소요하여 프로세스 성능이 낮아지는 이상현상

프로세스 스레싱의 개념도, 원인, 해결방안

프로세스 스레싱의 개념도

  • 다중 프로그래밍의 정도가 높아짐에 따라 프로세서 이용률이 향상되지맂 임계치 도달 후 프로세서 이용률이 낮아짐

프로세스 스레싱의 원인

구분원인내용
리소스 부족저사양 CPUCPU 코어부족, 속도 부족
-메모리 용량 부족용량 부족으로 인한 가상메모리 사용 증가
부적절한 페이지 교체 정책지역성 미고려페이지 교체 정책 효율성 저하
-페이지 빈도 미고려부적절한 페이지 교체 알고리즘 사용
과도한 멀티프로그래밍다중 프로세스 수용 초과과도한 멀티프로그래밍으로 페이지 폴트
-페이지 교체 수용 추가페이지 수 초과로 인한 페이지 폴트
  • Working Set Model, Page Fault Frequency 기버을 통해 발생을 최소화하는 것이 최선의 방법

프로세스 스레싱 해결방안

  • Working Set: 프로세스가 자주 참조하는 페이지 집합을 메모리에 상주시켜 교체 감소
  • Page Fault Frequency: 페이지 부재율상한, 하한을 정하여 직접 페이지 부재율을 예측하여 프레임 할당, 프레임 회수하여 페이지 교체 감소

스레싱 발생시 고려사항

  • 자주 사용하는 프로세스에 높은 우선순위를 부여하여 중요 작업이 원활히 수행 가능하도록 처리