Yocto 프로젝트에서는 전력 관리를 위해 다양한 패키지를 제공한다. 이 패키지들은 시스템 전반의 전력 소비를 최적화하고 필요한 경우 전력 관리를 강화할 수 있도록 돕는다. 주로 사용되는 전력 관리 관련 패키지들은 아래와 같다.
1. powertop
powertop
은 인텔(Intel)에서 개발한 도구로, Linux 시스템에서 전력 소비를 분석하고 최적화하는 데 사용된다. 이 도구는 다음과 같은 기능을 제공한다:
- 전력 소비 분석: 시스템의 전력 소비 현황을 모니터링하고, 전력 소비가 높은 프로세스나 장치를 식별한다.
- 전력 최적화 추천: 전력 소비를 줄이기 위한 설정 변경을 추천한다.
- 실시간 모니터링: 현재 전력 소비상태를 실시간으로 모니터링할 수 있다.
Yocto에서 powertop
패키지를 추가하려면, 해당 패키지를 build/conf/local.conf
파일에 추가하면 된다:
IMAGE_INSTALL_append = " powertop"
2. cpufrequtils
cpufrequtils
는 CPU 주파수 조정 및 관리 도구이다. 이 패키지는 CPU의 주파수를 동적으로 조절하여 전력 소비를 줄일 수 있는 방법을 제공한다.
- CPU 주파수 설정: CPU 주파수를 특정 값으로 설정할 수 있다.
- 주파수 조정 정책:
performance
,powersave
,userspace
,ondemand
,conservative
등의 정책을 통해 CPU 주파수 절감 전략을 선택할 수 있다.
패키지를 Yocto 이미지에 추가하려면 다음과 같이 설정한다:
IMAGE_INSTALL_append = " cpufrequtils"
3. pm-utils
pm-utils
는 시스템 전반의 전력 관리를 위한 도구이다. 이 도구는 시스템 설정을 조정하여 최대한 효율적으로 전력을 사용할 수 있도록 돕는다.
- 절전 모드: 시스템을 suspend(일시 중지) 또는 hibernate(최대 절전 모드) 상태로 전환할 수 있다.
- 전력 이벤트 스크립트: 전력 이벤트가 발생했을 때 특정 스크립트를 실행할 수 있는 기능을 제공한다.
Yocto 이미지에 pm-utils
를 추가하는 방법은 다음과 같다:
IMAGE_INSTALL_append = " pm-utils"
4. laptop-mode-tools
laptop-mode-tools
는 주로 노트북과 같은 휴대용 기기를 대상으로 한 전력 관리 도구이다. 이 도구는 배터리 사용 시간을 연장하기 위해 다양한 전력 관리 설정을 제공한다.
- 하드 디스크 관리: 하드 디스크의 스핀 다운을 관리하여 전력 소비를 줄일 수 있다.
- USB 장치 관리: USB 장치의 전력 사용을 관리할 수 있다.
- 네트워크 관리: 네트워크 인터페이스의 전력 소비를 최소화한다.
다음과 같이 패키지를 Yocto 이미지에 추가할 수 있다:
IMAGE_INSTALL_append = " laptop-mode-tools"
전력 관리 설정
전력 관리 패키지를 설치한 후에는 이를 최적화하고 필요한 설정을 적용할 수 있다. Yocto 프로젝트에서는 이러한 설정을 특정 레시피와 구성 파일을 통해 수행할 수 있다.
1. powertop 설정
powertop
은 주로 튜닝과 최적화에 사용되며, 다음과 같은 설정을 통해 자동으로 실행되도록 구성할 수 있다.
powertop 서비스 파일 생성
시작 시 powertop
이 자동으로 실행되도록 하기 위해 시스템 서비스 파일을 설정할 수 있다. 예를 들어, systemd 서비스를 사용할 경우 다음과 같이 설정할 수 있다:
[Unit]
Description=PowerTOP tuning service
[Service]
Type=simple
ExecStart=/usr/sbin/powertop --auto-tune
[Install]
WantedBy=multi-user.target
위의 내용을 /etc/systemd/system/powertop.service
파일에 저장한 후, 서비스를 활성화한다:
systemctl enable powertop
systemctl start powertop
2. cpufrequtils 설정
cpufrequtils
의 설정 파일은 /etc/default/cpufrequtils
에 위치한다. 이 파일을 수정하여 CPU 주파수 조정 정책을 설정할 수 있다.
예를 들어, CPU 주파수를 'ondemand' 모드로 설정하려면 다음과 같이 구성한다:
GOVERNOR="ondemand"
설정을 적용한 후 서비스를 재시작한다:
systemctl restart cpufrequtils
3. pm-utils 설정
pm-utils
의 설정 파일은 여러 구성 파일로 나뉘어 있다. 주요 구성 파일들은 /etc/pm/config.d/
디렉터리에 위치한다. 이 디렉터리에 사용자 정의 스크립트를 추가하여 전력 관리 이벤트와 관련된 설정을 적용할 수 있다.
예를 들어, 시스템이 절전 모드로 전환될 때 특정 작업을 수행하고자 한다면 /etc/pm/sleep.d/
디렉터리에 스크립트를 추가할 수 있다:
#!/bin/bash
case "$1" in
suspend|hibernate)
# 절전 모드로 전환되기 직전에 실행할 명령어 추가
;;
resume|thaw)
# 절전 모드에서 복귀된 후에 실행할 명령어 추가
;;
esac
스크립트 파일에 실행 권한을 부여한다:
chmod +x /etc/pm/sleep.d/myscript
4. laptop-mode-tools 설정
laptop-mode-tools
의 주요 설정 파일은 /etc/laptop-mode/laptop-mode.conf
이다. 이 파일에서 다양한 전력 관리 옵션을 설정할 수 있다.
예를 들어, 하드 디스크의 스핀 다운 기능을 활성화하려면 다음과 같이 설정한다:
ENABLE_LAPTOP_MODE=true
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=600
LM_AC_HD_IDLE_TIMEOUT_SECONDS=600
이 외에도 다양한 설정을 통해 전력 관리를 최적화할 수 있다.
효과적인 전력 관리는 시스템의 전반적인 효율성을 높이고, 특히 배터리 구동 기기의 배터리 수명을 연장하는 데 중요한 역할을 한다. Yocto 프로젝트에서는 다양한 전력 관리 패키지와 설정 옵션을 제공하여 이러한 요구를 충족시킬 수 있다. 설정 파일들과 스크립트를 적절히 구성함으로써 사용자 요구에 맞춘 최적의 전력 관리 솔루션을 구현할 수 있다.