3장. 코어 인프라 및 메커니즘
중요
이 장에서 제공하는 cpupower 명령을 사용하려면 kernel-tools 패키지가 설치되어 있어야 합니다.
3.1. CPU 유휴 상태
x86 아키텍처가 있는 CPU는 CPU의 일부가 비활성화되거나 더 낮은 성능 설정에서 실행되는 다양한 상태를 지원합니다. C 상태라고도 하는 이러한 상태를 사용하면 사용하지 않는 CPU를 부분적으로 비활성화하여 시스템을 전원을 절약할 수 있습니다. C-states는 C0 이상에서 번호가 매겨지며, 숫자가 클수록 CPU 기능이 줄어들고 전력 절약이 향상됩니다. 지정된 수의 C-States는 프로세서마다 광범위하게 유사하지만 특정 상태 집합의 정확한 세부 사항은 프로세서 제품군마다 다를 수 있습니다. C-States 0-3는 다음과 같이 정의됩니다.
- C0
- 작동 상태 또는 실행 상태입니다. 이 상태에서 CPU가 작동 중이며 전혀 유휴 상태가 아닙니다.
- C1, halt
- 프로세서가 명령을 실행하지 않고 일반적으로 더 낮은 전원 상태가 아닌 상태입니다. CPU는 지연 없이 거의 처리를 계속할 수 있습니다. C-States를 제공하는 모든 프로세서는 이 상태를 지원해야 합니다. Pentium 4 프로세서는 실제로 더 낮은 전력 소비를 위한 상태인 C1E라는 향상된 C1 상태를 지원합니다.
- C2, stop-Clock
- 이 프로세서에 대해 시계가 고정되지만 레지스터 및 캐시에 대한 전체 상태를 유지하므로 시계를 다시 시작하면 즉시 처리를 다시 시작할 수 있습니다. 이는 선택적 상태입니다.
- C3, 절전
- 프로세서가 실제로 잠자고 캐시를 최신 상태로 유지할 필요가 없는 상태입니다. 이 상태에서 시작하는 것은 이로 인해 C2보다 훨씬 오래 걸립니다. 이는 선택적 상태입니다.
CPUidle 드라이버의 사용 가능한 유휴 상태 및 기타 통계를 보려면 다음을 입력합니다.
~]$ cpupower idle-info
"Nehalem" 마이크로 아키텍처가 있는 최근 Intel CPU는 CPU의 전원 공급을 0으로 줄일 수 있는 새로운 C-State, C6을 갖추고 있지만 일반적으로 전력 소비를 80%에서 90%로 줄일 수 있습니다. Red Hat Enterprise Linux 7의 커널에는 이 새로운 C-State에 대한 최적화가 포함되어 있습니다.