피드로 돌아가기
Task Manager's CPU meter is an obituary for the recent past, says the engineer who built it
The RegisterThe Register
Infrastructure

Timer-driven 샘플링 기반의 CPU 점유율 측정 설계 분석

Task Manager's CPU meter is an obituary for the recent past, says the engineer who built it

Richard Speed2026년 4월 21일3intermediate

Context

정적 CPU 클럭 시대의 Windows Task Manager는 커널의 누적 실행 시간을 기반으로 한 Timer-driven 측정 방식을 채택함. 하드웨어의 발전에 따라 가변 클럭과 전원 관리 상태가 도입되며, 단순 시간 기반 측정으로는 실제 연산 처리량을 정확히 반영하지 못하는 한계 발생.

Technical Solution

  • 커널로부터 수집한 Cumulative Execution Time의 차분(Delta)을 활용한 점유율 산출 구조 설계
  • 특정 샘플링 간격(Interval) 내 프로세스별 CPU 소비 시간을 전체 CPU 소비 시간으로 나누는 비율 계산 로직 적용
  • 각 CPU Cycle을 정확한 비용 센터(Cost Center)에 할당하여 리소스 귀속성을 확보한 설계 방식 채택
  • 단순한 Productivity 측정이 아닌 시스템의 Occupancy를 측정하는 시간 기반 메커니즘 구현
  • 하드웨어의 Frequency Scaling 및 Throttling 발생 시 실제 처리량과 측정치 간의 괴리를 허용하는 설계적 트레이드오프 발생

1. 모니터링 지표 설계 시 하드웨어 추상화 계층의 가변성(CPU Turbo Boost, P-state 등)을 고려했는지 검토

2. 시간 기반 샘플링과 실제 처리량(Throughput) 간의 괴리가 발생하는 지점을 파악하여 메트릭 정의 수정

3. 누적 값의 차분을 이용한 비율 계산 시, 경계 조건(Boundary Condition)에 따른 오차 범위 설정 및 예외 처리 구현

원문 읽기