CPU 코어의 입력 전압을 낮춰 동일 클럭에서 발열과 전력 소모량을 줄임.
acpi_cpufreq 모듈을 패치하고 입력 전압값(VID)을 수정하는 방법임.
패치는 http://www.linux-phc.org > PHC Downloads
커널 버전, Intel용/AMD용을 확인할 것.
acpi_cpufreq 모듈만 컴파일하면 되지만 커널 소스를 받은 김에 커널까지 컴파일함.
패치 후
$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
명령을 실행하면 PHC 적용 여부 확인 가능.
PHC를 쓸 수 있는 상황에서
$ echo "12:29 11:24 10:22 9:21 8:20 6:19" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
$ echo "12:29 11:24 10:22 9:21 8:20 6:19" > /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
$ echo "12:29 11:24 10:22 9:21 8:20 6:19" > /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
처럼 값을 수정.
12 : 29 > 앞의 숫자가 클럭수(FID), 뒤의 숫자가 전압값(VID).
linux phc 홈페이지 > PHC Downloads > read_msr 스크립트를 받아서 실행하면
기본 클럭수, 전압값을 알 수 있음. msr 모듈을 먼저 띄울 것..
맥북 1세대 2GHz의 경우, FID는
12 = 2 GHz, 6 = 1 GHz이고
11 = 1.83 GHz, 10 = 1.66 GHz, 9 = 1.5 GHz, 8 = 1.33 GHz.
코어 듀오1 or 2의 VID(전압값) 공식
실제 전압(mV) = ( 712.5 + ( VID * 12.5 ))
Athlon64, Turion, Opteron
milli volt = ( 1550.0 - ( VID * 25 ))
펜티엄 M(센트리노)
milli volt = ( 700.0 + ( VID * 16 ))
오버클러킹처럼 Undervolt도 허용 한계가 있으므로 삽질로 최저값을 찾아내야 함.
http://ubuntuforums.org/showthread.php?t=786402-> 삽질 방법을 비롯한 자세한 설명.
(또 /sys/devices/system/cpu 디렉터리에서 대충 개념을 잡을 수 있음)