Cpufrequtils, a ondemand


Oszczędzanie energii jest czymś bardzo pozytywnym szczególnie jeśli chodzi o laptopy. Czasami jednak tryby dostępne w naszym procesorze są wręcz przesadzone....

Zacznijmy od sprawdzenia jakie tryby obsługuje nasz procesor. Aby to wykonać wystarczy w konsoli zerknąć na wynik cpufreq-info:
cpufreq-info
w moim przypadku wygląda to następująco:
cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 800 MHz - 2.20 GHz
available frequency steps: 2.20 GHz, 2.20 GHz, 1.60 GHz, 1.20 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.60 GHz and 2.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
cpufreq stats: 2.20 GHz:5,74%, 2.20 GHz:0,77%, 1.60 GHz:0,70%, 1.20 GHz:0,95%, 800 MHz:91,83% (2069817)
analyzing CPU 1:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 1
maximum transition latency: 10.0 us.
hardware limits: 800 MHz - 2.20 GHz
available frequency steps: 2.20 GHz, 2.20 GHz, 1.60 GHz, 1.20 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.60 GHz and 2.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
cpufreq stats: 2.20 GHz:6,82%, 2.20 GHz:0,88%, 1.60 GHz:0,69%, 1.20 GHz:0,85%, 800 MHz:90,77% (2021126)


Jak widać najczęściej wykorzystuje minimalne ustawienie czyli 800MHz. Szczególnie nie zależy mi na oszczędzaniu baterii, a większość czasu na laptopie spędzam i tak podłączony do zewnętrznego zasilania.
Co najgorsze pomiędzy poszczególnymi ustawieniami procesora da się odczuć realną różnice w szybkości działania mojego Ubuntu. Z kolei ustawienie na stałe trybu 'preformace' powoduje nadmierne 'grzanie' się laptopa przez co zależało mi aby usunąć po prostu z trybu 'ondemand' najniższą częstotliwość taktowania, a raczej zmienić jej domyślną wartość. Okazało się że zadanie jest bardzo proste. Wpierw jednak nasz system musimy wzbogacić o cpufrequtils:

Instalacja w konsoli Ubuntu:
sudo apt-get update
sudo apt-get install --yes cpufrequtils

Następnie przechodzimy do /etc/init.d:
cd /etc/init.d

gdzie za pomocą ulubionego edytora modyfikujemy plik 'cpufrequtils', ja użyje w tym celu gedit:
sudo gedit cpufrequtils

w pliku odnajdujemy:
ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED="0"
MIN_SPEED=""


i podmieniamy zgodnie z naszymi potrzebami minimalną oraz maksymalną częstotliwość taktowania. Ja zmieniam tylko ustawienie trybu minimalnego na 1.6GHz:
ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED="0"
MIN_SPEED="1.6GHz"


Zapisujemy i restartujemy system by zmiany zostały aktywowane lub po prostu restartujemy cpufrequtils poleceniem:
sudo ./cpufrequtils restart


Wpis od:
Mati

blog comments powered by Disqus