BIOS/Global C-state Control
Jump to navigation
Jump to search
Overview
C-States는 CPU의 전력 절약 모드입니다. C0(정상 동작)부터 C6(최deep sleep)까지 여러 단계로 구성되며, CPU 부하에 따라 동적으로 전환됩니다.
Summary
- 무엇인가? CPU 전력 절약 모드 (C0~C6 단계)
- 왜 필요한가? 유휴 상태 CPU 전력 소비 감소, 발열 감소
- 언제 사용하는가? 서버 유휴 시간 전력 절감, 부하 증가 시 자동 복귀
---
Purpose
이 문서가 존재하는 이유
- Goal: C-States의 개념, 각 모드 설명, BIOS 설정 가이드 제공
- Scope: C-States 기본 개념, Intel/AMD C-States, BIOS 설정 경로
- Non-goals: CPU 전압 상세 프로토콜, 클록 분주기 설계
---
Key Concepts
| Mode | Name | Description | CPUs |
|---|---|---|---|
| C0 | Operating State | CPU fully turned on — 정상 동작 | All CPUs |
| C1 | Halt | CPU main internal clocks 정지; bus interface unit/APIC 유지 | 486DX4 and above |
| C1E | Enhanced Halt | C1 + CPU 전압 감소 | All socket LGA775 CPUs |
| C2 | Stop Grant / Stop Clock | CPU main/internal/external clocks 정지 | 486DX4 and above |
| C2E | Extended Stop Grant | C2 + CPU 전압 감소 (Intel 전용) | Core 2 Duo and above |
| C3 | Sleep / Deep Sleep / AltVID | CPU internal/external clocks 정지 + 전압 감소 | Pentium II, Athlon and above |
| C4 | Deeper Sleep | CPU 전압 감소 | Pentium M and above |
| C4E/C5 | Enhanced Deeper Sleep | 전압 감소 + memory cache 정지 | Core Solo, Core Duo, 45-nm mobile Core 2 Duo |
| C6 | Deep Power Down | CPU 내부 전압 0V까지 감소 | 45-nm mobile Core 2 Duo only |
---
Architecture
C-States 동작 원리:
graph TD
A[C0 - Normal Operation] --> B[CPU 100% 동작]
B --> C{부하 감소?}
C -->|Yes| D[C1 - Halt]
C -->|No| B
D --> E[Internal clocks 정지]
E --> F{부하 증가?}
F -->|Yes| B
F -->|No| G[C2 - Stop Grant]
G --> H[Internal/External clocks 정지]
H --> I{부하 증가?}
I -->|Yes| B
I -->|No| J[C3 - Deep Sleep]
J --> K[All clocks 정지 + 전압 감소]
K --> L{부하 증가?}
L -->|Yes| B
L -->|No| M[C6 - Deep Power Down]
M --> N[전압 0V]---
Workflow
C-States 확인 및 제어 워크플로우:
- C-States 상태 확인
- $ cat /sys/module/cpu_idle/parameters/cstates
- 또는
- $ cpupower idle-info
- BIOS에서 C-States 설정
- Supermicro: CPU Configuration > Global C-state Control
- HPE: System Configuration > BIOS/Platform Configuration > Power and Performance Options > C-State Efficiency Mode
---
Detailed Explanation
C-States 기본 개념
C-States는 CPU의 전력 절약 기능입니다. BIOS에서 비활성화할 수 있으며, 비활성화해도 CPU 수명에 부정적인 영향은 없습니다 (약간의 전력 소비 증가만 발생).
BIOS C-States 옵션은 시스템이 C-States 전환 시 코어 주파수를 작은 단위로 조정하도록 구성합니다. 이 옵션을 활성화하면 워크로드를 모니터링하고 코어가 100% 활용되지 않을 때 코어 주파수를 조절하여 높은 C0 residency를 유지합니다. 이는 전력 및 지연 시간 이점이 있습니다.
C-States는 C0부터 번호가 매겨지며, C0는 CPU가 100% 켜진 정상 동작 모드입니다. 숫자가 높을수록 더 깊은 수면 모드이며, 더 많은 회로와 신호가 꺼지고 C0 모드로 복귀하는 데 더 많은 시간이 걸립니다.
Supermicro BIOS 설정
| 시스템 | BIOS 경로 | 옵션 |
|---|---|---|
| Supermicro | CPU Configuration > Global C-state Control | Enabled/Disabled |
| HPE ProLiant | System Configuration > BIOS/Platform Configuration (RBSU) > Power and Performance Options > C-State Efficiency Mode | Enabled/Disabled |
---
Configuration
Supermicro BIOS
Supermicro:
BIOS > CPU Configuration > Global C-state Control → Enabled/Disabled
HPE ProLiant BIOS
HPE:
BIOS > System Configuration > BIOS/Platform Configuration (RBSU) > Power and Performance Options > C-State Efficiency Mode → Enabled/Disabled
---
Examples
Example 1: C-States 상태 확인
입력:
$ cpupower idle-info
출력:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.80ms
hardware coordination: yes
software coordination: yes
default / governor: performance
idle states: C0: , C1: hlt , C1: busy counting , C1f: fll , C6: deep sleep
Example 2: BIOS C-States 설정
1. 서버 전원 On → DEL 키 누르기
2. BIOS Setup 진입
3. CPU Configuration > Global C-state Control → Disabled
4. F10 저장 및 재부팅
5. C-States 비활성화 확인
---
Best Practices
- 전력 절감이 우선 — C-States 활성화 권장 (유휴 시간 전력 10-30% 절감)
- 저지연 워크로드 — C-States 비활성화 권장 (C0 residency 보장)
- 가상화 호스트 — C-States 활성화 권장 (VM 유휴 시 전력 절감)
- BIOS 설정 변경 후 반드시 재부팅
- IPMI를 통한 원격 BIOS 접근 권장
---
Limitations
- C-States 활성화 시 일부 워크로드에서 지연 시간 증가 가능
- C6 모드는 45-nm mobile Core 2 Duo에서만 지원
- C-States 지원은 CPU 아키텍처/세대에 따라 상이
- BIOS 설정은 마더보드 제조사/모델별로 상이
---
References
---
Related Pages
---