윈도우 CPU 이용률, 제대로 알고 계신가요?
by DD
2년 전
조회수 12
Windows 작업 관리자에서 CPU 이용률은 CPU 사용량(Usage)과 CPU 활용률(Utilization) 두 가지로 나뉨
CPU 사용량(Usage)은 시간 기반, CPU 활용률(Utilization)은 주파수 기반으로 측정됨
성능 모니터링 시, CPU 사용량(Usage)과 CPU 활용률(Utilization)을 함께 고려하여 병목 현상을 파악해야 함
CPU 사용량(Usage) 측정 방식
CPU 사용량(Usage)은 100ns 간격으로 샘플링된 유휴 스레드의 시간을 기반으로 계산된다. 구체적으로, `1 - (유휴 스레드 시간 / 총 샘플링 시간)` 공식을 사용한다. 따라서 유휴 스레드의 비율이 높을수록 CPU 사용량은 낮게 측정된다. 결과적으로, CPU 코어가 실제로 사용되는 시간을 정확하게 파악할 수 있다.
CPU 활용률(Utilization) 측정 방식
CPU 활용률(Utilization)은 CPU의 유효 주파수와 기본 주파수를 비교하여 측정된다. RDTSC 함수를 통해 유효 주파수를 계산하고, NtPowerInformation API를 통해 기본 주파수 정보를 얻는다. 반면, 터보 부스트와 같은 기술로 인해 100%를 초과하는 값으로 측정될 수 있다.
성능 모니터링 시 고려 사항
CPU 사용량(Usage)은 CPU 코어가 실제로 작업하는 시간을 나타내므로, 성능 모니터링의 기본 지표로 활용된다. CPU 활용률(Utilization)은 대기 상태의 스레드로 인한 자원 소모를 파악하는 데 유용하다. 따라서, 두 지표를 함께 분석하여 병목 현상을 정확하게 진단하고, 시스템 성능 최적화를 수행해야 한다.