CPU 이용률의 두 얼굴: CPU 코어 사용량(Usage)과 활용률(Utilization)
Windows의 CPU 이용률은 **Usage**와 **Utilization**으로 나뉘며, 둘은 같은 수치가 아니다.
Windows 8과 Windows Server 2012부터 작업 관리자에서 보이는 CPU 이용률은 서로 다른 의미를 갖는다. [프로세스] 탭과 [성능] 탭은 주파수 기반의 CPU 활용률(Utilization) 을 보여주고, [세부 정보] 탭은 시간 기반의 CPU 사용량(Usage) 을 보여준다.
CPU 사용량(Usage) 은 Processor Information\% Processor Time에 해당한다. 논리 프로세서가 유휴(Idle) 스레드 대신 실제 작업을 실행한 시간을 100ns 단위 샘플링으로 계산하며, 공식은 1 - (B / T) 이다. 여기서 B는 유휴 스레드가 소비한 샘플 수, T는 전체 샘플 수다.
예를 들어 1초 동안 1,000만 번 샘플링했고 그중 100만 번이 유휴 상태였다면 사용량은 **90%**가 된다. 이 값은 Windows 성능 모니터의 Processor(_Total)\% Processor Time 또는 Processor Information(_Total)\% Processor Time과도 일치한다.
반면 CPU 활용률(Utilization) 은 Processor Information\% Processor Utility에 해당한다. 이는 실제 동작한 클럭과 기본 주파수(Base Frequency) 를 비교하는 방식으로 계산되며, 공식은 E / B 다. 터보 부스트처럼 실제 클럭이 기본 클럭을 넘는 경우 100%를 초과할 수 있다.
정리하면, Usage는 “얼마나 오래 일했는가”를, Utilization은 “기본 성능 대비 얼마나 빠르게 일했는가”를 본다.
- Usage: 시간 기반, 실행 시간 중심, 기본적인 부하 확인에 적합
- Utilization: 주파수 기반, 터보 부스트 영향 반영, 대기 상태의 불필요한 CPU 소모 분석에 유용
따라서 성능 모니터링의 기본 축은 % Processor Time으로 잡고, 추가로 % Processor Utility를 함께 봐야 한다. 특히 대기(Waiting) 상태 스레드가 CPU 자원을 비효율적으로 쓰는지 확인하려면 Utilization이 중요하다.
작업 관리자 외에도 Process Explorer나 System Informer 같은 도구를 쓰면 Usage를 더 직접적으로 볼 수 있다. 리소스 모니터에서는 프로세스 목록의 CPU 칼럼과 우측 패널 값이 서로 다른 의미를 가질 수 있으므로, 어떤 탭과 어떤 카운터를 보고 있는지 구분하는 것이 핵심이다.
결론적으로 서버 성능 최적화는 단순히 CPU가 몇 %인지 보는 일이 아니다. Usage와 Utilization을 함께 해석해야, 장비 스펙을 얼마나 효율적으로 쓰고 있는지 정확히 판단할 수 있다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.