DVFS와 슬립 상태로 설계하는 시스템 전력 관리

DVFS, P-State, C-State, 시스템 슬립 상태와 저전력 모드를 중심으로 성능·발열·에너지 효율의 균형을 다루는 전력 관리 가이드

2026-08-14 · 최초 발행 2026-01-16

전력 소비는 배터리 사용 시간, 발열, 데이터센터의 전력·냉각 비용, 에너지 낭비에 직접 연결된다. 시스템은 필요한 순간에는 성능을 내고, 유휴 상태에서는 소비 전력을 낮춰야 한다. DVFS와 슬립 상태, 저전력 모드는 이 균형을 만드는 대표적인 수단이다.

성능 요구와 유휴 시간을 함께 다루는 전력 관리

전력 관리의 목표는 단순히 전력을 적게 쓰는 데 있지 않다. 워크로드에 맞는 성능을 제공하면서 유휴 시간의 소비 전력을 줄이고, 열 설계 전력(TDP)을 지키며, 사용자 경험 저하 없이 에너지를 절감하는 데 있다.

전력 관리동적 전력 관리정적 전력 관리DVFSDynamic Power Gating슬립 상태전원 차단

전압과 클럭을 조절하는 DVFS

DVFS(Dynamic Voltage and Frequency Scaling)는 CPU의 전압과 주파수를 동적으로 바꾸는 방식이다. 전력 소비는 C × V² × f로 표현할 수 있다. 여기서 C는 용량, V는 전압, f는 주파수다. 전압을 낮추면 전력 소비는 제곱으로 감소하며, 주파수를 낮추면 성능은 선형적으로 감소한다.

P-State가 정의하는 성능 단계

ACPI의 P-State는 성능 상태를 정의한다. P0는 최고 전압과 주파수를 사용하는 최대 성능 상태이며, P1부터 Pn으로 갈수록 낮은 전압·주파수 조합을 사용한다. 각 상태에는 전압과 주파수 쌍이 정해져 있다.

// P-State 예시
P0: 2.4 GHz @ 1.35V  // 최대 성능
P1: 2.0 GHz @ 1.20V
P2: 1.6 GHz @ 1.05V
P3: 1.2 GHz @ 0.90V
P4: 0.8 GHz @ 0.75V  // 최소 성능

부하 변화에 반응하는 governor

Ondemand는 CPU 사용률을 주기적으로 확인해 사용률이 높으면 최대 주파수로 전환하고, 낮으면 주파수를 점진적으로 낮춘다. 응답은 빠르지만 전환 빈도가 높다.

Conservative는 Ondemand보다 완만하게 주파수를 조절한다. 주파수를 단계적으로 증감시키며 전력 효율을 우선하므로 응답성은 낮다.

Powersave는 항상 최소 주파수를 유지해 극단적인 전력 절감을 노리지만 성능 저하가 크다. Performance는 반대로 항상 최대 주파수를 유지해 최대 성능을 보장하는 대신 전력 소비가 가장 크다.

사용률 80%사용률 < 20%20% 사용률 80%CPU 사용률임계값 확인주파수 증가주파수 감소현재 유지P-State 변경전압 조절

하드웨어가 지원하는 성능 조절

Intel SpeedStep의 Enhanced SpeedStep Technology(EIST)는 하드웨어 기반 DVFS 기술이다. 운영체제가 P-State를 요청하면 CPU가 전압과 주파수를 자동으로 조절한다. AMD Cool'n'Quiet도 P-State 테이블을 활용해 저전력 동작을 최적화하는 DVFS 기술이다.

Turbo Boost와 Turbo Core는 일부 코어만 사용할 때 높은 주파수로 부스팅한다. 열 설계 전력(TDP)의 여유분을 활용하며, 온도와 전력 한계 안에서 단일 스레드 성능을 높인다.

// 기본 주파수: 2.4 GHz
// Turbo Boost 활성화 시
1개 코어 활성: 3.9 GHz
2개 코어 활성: 3.7 GHz
4개 코어 활성: 3.3 GHz
전체 코어 활성: 2.4 GHz

GPU에도 DVFS가 적용된다. 게임과 그래픽 워크로드에 따라 주파수를 조절하며, 모바일 기기에서는 특히 중요한 역할을 한다. NVIDIA GPU Boost와 AMD PowerTune이 여기에 해당한다.

CPU 유휴 상태와 시스템 슬립 상태의 차이

C-State는 CPU 유휴 상태를, S-State는 시스템 전체의 슬립 상태를 나타낸다. 전력 절감 폭이 커질수록 일반적으로 복귀 시간도 길어진다.

C-State로 줄이는 CPU 유휴 전력

C0에서는 CPU가 작업을 실행하며 모든 회로가 활성화되어 전력 소비가 최대다. C1은 CPU 실행을 멈추되 캐시를 유지하는 Halt 상태로, HALT 명령어로 진입하며 몇 마이크로초 안에 복귀한다.

C2는 클럭 신호를 멈추고 캐시와 상태를 유지한다. C3는 캐시를 플러시하고 PLL(Phase-Locked Loop)을 중지하는 Deep Sleep 상태이며, 복귀 시간은 수십 마이크로초다. C6/C7에서는 코어 전원을 차단하고 상태를 별도로 저장한다. 복귀 시간은 수백 마이크로초이며 전력 소비는 거의 없다.

HALTIdle 지속Idle 지속WakeWakeWakeC0: ActiveC1: HaltC3: Deep SleepC6: Power Down

S-State가 다루는 시스템 단위 전력

S0는 시스템이 정상 동작하는 상태다. S1에서는 CPU와 RAM을 활성화한 채 일부 장치 전원을 끈다.

S3는 Suspend to RAM이다. CPU 전원을 차단하고 RAM만 활성화해 컨텍스트를 유지하며, 복귀 시간은 수 초다. S4는 Hibernate 또는 Suspend to Disk로, RAM 내용을 디스크에 저장한 뒤 모든 장치 전원을 차단한다. 전력 소비는 거의 없지만 복귀 시간은 수십 초다. S5는 Soft Off 상태로 시스템 전원을 차단하고 일부 회로만 대기 전력을 유지하며, 전원 버튼으로 부팅한다.

// Linux에서 슬립 상태 진입
echo mem > /sys/power/state       // S3: Suspend to RAM
echo disk > /sys/power/state      // S4: Hibernate
echo freeze > /sys/power/state    // S0ix: Modern Standby

S0ix 또는 Modern Standby는 S0 상태를 유지하면서 저전력으로 동작한다. 네트워크 연결과 백그라운드 작업을 유지할 수 있어 스마트폰과 유사한 사용 경험을 제공한다. Windows Modern Standby와 Linux S0ix가 이 방식을 사용한다.

기기와 서버에서 쓰이는 저전력 모드

Android의 배터리 세이버는 백그라운드 활동, 화면 밝기, CPU/GPU 주파수, 진동 및 위치 서비스를 제한한다. iOS의 저전력 모드는 이메일 자동 가져오기, 백그라운드 앱 새로 고침, 자동 다운로드를 중지하고 시각 효과를 줄인다.

서버에서는 사용하지 않는 코어를 C-State로 전환하고, 디스크 스핀다운과 네트워크 카드 저전력 모드를 적용할 수 있다. 동적 부하 분산에서는 작업을 일부 서버에 집중한 뒤 유휴 서버 전원을 차단하고, 부하가 늘면 서버를 다시 가동한다.

Server 3 (Sleep)Server 2 (Sleep)Server 1 (Active)로드 밸런서Server 3 (Sleep)Server 2 (Sleep)Server 1 (Active)로드 밸런서alt[부하 증가]작업 할당작업 처리Wake UpReady작업 할당

디스플레이는 밝기를 자동 조절하고 유휴 시 화면을 끄며, OLED에서는 다크 모드를 활용할 수 있다. 스토리지는 HDD 스핀다운, SSD Link Power Management, 읽기·쓰기 배치 처리를 사용한다. 네트워크에서는 Wi-Fi 절전 모드(PSM), 주기적 비콘 수신, Wake-on-LAN을 활용한다.

Linux에서 전력 정책을 확인하고 설정하는 방법

Linux cpufreq governor는 시스템의 성능과 전력 우선순위를 반영한다. 고부하 데이터센터 서버, 실시간 처리 시스템, 게이밍 PC는 Performance governor를 사용할 수 있다. 일반 데스크톱과 웹·애플리케이션 서버는 Ondemand 또는 Schedutil governor가 균형에 맞는다. 모바일 기기, 배터리 구동 시스템, 에지 IoT 장치는 Powersave governor가 적합하다.

# 사용 가능한 governor 확인
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

# governor 설정
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# 현재 주파수 확인
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

전력 상태는 Intel RAPL 관련 도구, 실시간 소비 전력, 배터리 상태, systemd 전력 프로파일을 통해 확인할 수 있다.

# Intel RAPL (Running Average Power Limit)
sudo powertop

# 실시간 전력 소비 확인
sudo turbostat

# 배터리 상태 확인
upower -i /org/freedesktop/UPower/devices/battery_BAT0

# 전력 프로파일 확인 (systemd)
powerprofilesctl list

성능과 전력의 관계는 주파수 변화만으로 정리되지 않는다. 다만 아래 예시는 DVFS가 최대 성능, 균형, 최소 전력 사이를 어떻게 이동시키는지 보여 준다.

DVFSDVFS최대 성능균형최소 전력2.4 GHz, 15W1.6 GHz, 6W0.8 GHz, 2W성능: 100%성능: 70%성능: 40%

AC 전원에서는 최대 성능 모드, 밝은 화면, 빠른 주파수 전환을 선택할 수 있다. 배터리 사용 중에는 균형 또는 절전 모드와 화면 밝기 감소, 공격적인 주파수 감소를 적용한다.

환경별 전력 관리 적용 방식

스마트폰은 화면이 꺼졌을 때 CPU를 C-State로 전환하고, 백그라운드 앱의 CPU 사용을 제한한다. GPS와 센서는 필요한 경우에만 활성화하며, OLED에서는 다크 모드로 전력을 절감한다.

노트북에서는 TLP로 전력 관리와 배터리 임계값을 설정할 수 있다.

# TLP: 노트북 전력 관리 도구
sudo apt install tlp
sudo tlp start

# 배터리 임계값 설정 (ThinkPad 예시)
sudo tlp setcharge 40 80 BAT0  # 40-80% 충전 유지

데이터센터는 서버 통합(Consolidation)으로 유휴 서버를 줄이고, DVFS로 부하에 따라 전력을 조절한다. 냉각 효율 개선과 PUE(Power Usage Effectiveness) 최적화도 함께 다룬다.

임베디드 시스템에서는 Tickless 커널로 불필요한 타이머 인터럽트를 제거하고, 긴 유휴 시간에는 깊은 C-State로 진입한다. 주변 장치는 필요할 때만 활성화하고 Wake-up 소스를 최소화한다.

워크로드를 예측하는 전력 제어의 방향

머신러닝 기반 전력 관리는 워크로드 패턴을 학습하고, 예측에 따라 주파수를 조절하며, 사용자 행동 분석을 활용한다.

이종 컴퓨팅에서는 ARM big.LITTLE 아키텍처와 Intel Lakefield(Hybrid Technology)처럼 경량 작업을 저전력 코어에, 고성능 작업을 고성능 코어에 배치한다.

경량고성능작업 스케줄러작업 유형Little CoreBig Core저전력 코어낮은 주파수고성능 코어높은 주파수

하드웨어 가속 전력 관리는 CPU 내장 전력 관리 컨트롤러를 활용해 실시간으로 주파수와 전압을 조절한다. 운영체제 개입을 줄이면서 더 세밀한 전력 제어를 목표로 한다.

전력 관리DVFSC-State슬립 상태에너지 효율