Difference between revisions of "CPU frequency scaling (Slovenský)"

From ArchWiki
Jump to: navigation, search
m (daemon; not deamon [spellfix])
m
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Slovenský]]
 
[[Category:Slovenský]]
{{i18n|cpufrequtils}}
+
[[ar:CPU Frequency Scaling]]
 
+
[[cs:CPU Frequency Scaling]]
 +
[[de:Cpufrequtils]]
 +
[[el:CPU Frequency Scaling]]
 +
[[en:CPU Frequency Scaling]]
 +
[[es:CPU Frequency Scaling]]
 +
[[fr:Cpufreq]]
 +
[[it:CPU Frequency Scaling]]
 +
[[ja:CPU Frequency Scaling]]
 +
[[pt:CPU Frequency Scaling]]
 +
[[ru:CPU Frequency Scaling]]
 +
[[tr:Işlemci_frekansını_ölçekleme]]
 +
[[zh-CN:CPU Frequency Scaling]]
 
{{Article summary start|Súhrn}} {{DISPLAYTITLE:cpufrequtils}}
 
{{Article summary start|Súhrn}} {{DISPLAYTITLE:cpufrequtils}}
 
{{Article summary text|Prehľad populárnych nástrojov pre kernel [http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html CPUfreq] subsystém.}}
 
{{Article summary text|Prehľad populárnych nástrojov pre kernel [http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html CPUfreq] subsystém.}}
Line 10: Line 21:
 
{{Article summary end}}
 
{{Article summary end}}
  
[http://www.archlinux.org/packages/?q=cpufrequtils cpufrequtils] je set utilít navrhnutý pre ''CPU frequency scaling'', technológiu využívanú primárne na notebook-och. Táto technológia umožňuje operačnému systému meniť frekvenciu CPU v závislosti na aktuálnom vyťažení systému.
+
[https://www.archlinux.org/packages/?q=cpufrequtils cpufrequtils] je set utilít navrhnutý pre ''CPU frequency scaling'', technológiu využívanú primárne na notebook-och. Táto technológia umožňuje operačnému systému meniť frekvenciu CPU v závislosti na aktuálnom vyťažení systému.
  
 
V spojení s [[Pm-utils|pm-utils]] poskytuje kompletný power managment.
 
V spojení s [[Pm-utils|pm-utils]] poskytuje kompletný power managment.
  
Tento článok pokrýva inštaláciu a základnú konfiguráciu balíčka <tt>cpufrequtils</tt>.
+
Tento článok pokrýva inštaláciu a základnú konfiguráciu balíčka {{ic|cpufrequtils}}.
  
 
== Inštalácia ==
 
== Inštalácia ==
  
Balíček {{Package Official|cpufrequtils}} je dostupný v repozitáry [extra]:
+
Balíček {{Pkg|cpufrequtils}} je dostupný v repozitáry [extra]:
 
  # pacman -S cpufrequtils
 
  # pacman -S cpufrequtils
  
Line 31: Line 42:
 
Aby Vám zmena frekvencie pracovala správne, operačný systém musí poznať limity CPU. Na splnenie tejto požiadavky sa načítavá modul kernelu, ktorý dokáže čítať a riadiť špecifikácie CPU.
 
Aby Vám zmena frekvencie pracovala správne, operačný systém musí poznať limity CPU. Na splnenie tejto požiadavky sa načítavá modul kernelu, ktorý dokáže čítať a riadiť špecifikácie CPU.
  
Väčšina dnešných notebook-ov a PC môže používať ovládač '''<tt>acpi-cpufreq</tt>'''. Ďaľšími možnosťami sú ovládače <tt>p4-clockmod</tt>, <tt>powernow-k8</tt> a <tt>speedstep-centrino</tt>. Aby ste videlikompletný zoznam dostupných ovládačov, spustite nasledovný príkaz:
+
Väčšina dnešných notebook-ov a PC môže používať ovládač '''{{ic|acpi-cpufreq}}'''. Ďaľšími možnosťami sú ovládače {{ic|p4-clockmod}}, {{ic|powernow-k8}} a {{ic|speedstep-centrino}}. Aby ste videlikompletný zoznam dostupných ovládačov, spustite nasledovný príkaz:
  
 
  $ ls /lib/modules/2.6.??-ARCH/kernel/drivers/cpufreq
 
  $ ls /lib/modules/2.6.??-ARCH/kernel/drivers/cpufreq
  
{{Tip|Pre AMD "K10" CPU ako napr. Phenom X4, použite ovládač <tt>powernow-k8</tt>.}}
+
{{Tip|Pre AMD "K10" CPU ako napr. Phenom X4, použite ovládač {{ic|powernow-k8}}.}}
 
==== Intel ====
 
==== Intel ====
 
Manuálne načítanie ovládača:
 
Manuálne načítanie ovládača:
Line 43: Line 54:
 
  FATAL: Error inserting acpi_cpufreq ([...]/acpi-cpufreq.ko): No such device
 
  FATAL: Error inserting acpi_cpufreq ([...]/acpi-cpufreq.ko): No such device
  
V tomto prípade nahraďte kernel modul <tt>acpi-cpufreq</tt> s <tt>speedstep-centrino</tt>, <tt>p4-clockmod</tt> alebo <tt>speedstep-ich</tt>.
+
V tomto prípade nahraďte kernel modul {{ic|acpi-cpufreq}} s {{ic|speedstep-centrino}}, {{ic|p4-clockmod}} alebo {{ic|speedstep-ich}}.
  
Modul <tt>speedstep-centrino</tt> je ale zastaraný.
+
Modul {{ic|speedstep-centrino}} je ale zastaraný.
  
V AUR-e sa náchdaza kernel s modulom speedstep-centrino. Je to balíček '''<tt>kernel26-pentium-m</tt>''', ktorý nájdete [http://aur.archlinux.org/packages.php?ID=33104 tu].
+
V AUR-e sa náchdaza kernel s modulom speedstep-centrino. Je to balíček '''{{ic|kernel26-pentium-m}}''', ktorý nájdete [https://aur.archlinux.org/packages.php?ID=33104 tu].
  
 
==== AMD ====
 
==== AMD ====
Line 53: Line 64:
  
 
=== Načítanie pri boot-e ===
 
=== Načítanie pri boot-e ===
Aby sa driver načítal automaticky pri štarte pridajte vhodný ovládač do riadku MODULES {{Filename|/etc/rc.conf}}. Príklad:  
+
Aby sa driver načítal automaticky pri štarte pridajte vhodný ovládač do riadku MODULES {{ic|/etc/rc.conf}}. Príklad:  
 
  MODULES=( '''acpi-cpufreq''' vboxdrv fuse fglrx iwl3945 ... )
 
  MODULES=( '''acpi-cpufreq''' vboxdrv fuse fglrx iwl3945 ... )
  
Line 60: Line 71:
  
 
Výstup príkazu by mal byť podobný tomuto:
 
Výstup príkazu by mal byť podobný tomuto:
{{Command
+
{{hc
|name=cpufreq-info
+
|$ cpufreq-info
|output=<nowiki>
+
|<nowiki>
 
  analyzing CPU 0:
 
  analyzing CPU 0:
 
   driver: acpi-cpufreq
 
   driver: acpi-cpufreq
Line 93: Line 104:
 
=== Pridelenie práv v Gnome ===
 
=== Pridelenie práv v Gnome ===
  
Gnome má pekný applet umožňujúci zmenu ''governor'' počas behu. Pre jeho použitie bez potreby zadávanie hesla pre root jednoducho vytvorte {{Filename|/var/lib/polkit-1/localauthority/50-local.d/org.gnome.cpufreqselector.pkla}}a vložte do neho nasledújúci text:
+
Gnome má pekný applet umožňujúci zmenu ''governor'' počas behu. Pre jeho použitie bez potreby zadávanie hesla pre root jednoducho vytvorte {{ic|/var/lib/polkit-1/localauthority/50-local.d/org.gnome.cpufreqselector.pkla}}a vložte do neho nasledújúci text:
  
<pre>[org.gnome.cpufreqselector]
+
{{bc|1=[org.gnome.cpufreqselector]
 
Identity=unix-user:USER
 
Identity=unix-user:USER
 
Action=org.gnome.cpufreqselector
 
Action=org.gnome.cpufreqselector
 
ResultAny=no
 
ResultAny=no
 
ResultInactive=no
 
ResultInactive=no
ResultActive=yes</pre>
+
ResultActive=yes}}
  
 
Kde slovo USER nahradíte vašim používateľským menom.
 
Kde slovo USER nahradíte vašim používateľským menom.
Line 106: Line 117:
 
=== Cpufrequtils a Laptop Mode Tools ===
 
=== Cpufrequtils a Laptop Mode Tools ===
 
Ak používate alebo plánujete používať [[Laptop Mode Tools]] možno ho budete chcieť nechať riadiť aj zmeny frekvencie CPU.  
 
Ak používate alebo plánujete používať [[Laptop Mode Tools]] možno ho budete chcieť nechať riadiť aj zmeny frekvencie CPU.  
V tomto prípade vložte <tt>acpi-cpufreq</tt> do riadku MODULES v {Filename|/etc/rc.conf}}:
+
V tomto prípade vložte {{ic|acpi-cpufreq}} do riadku MODULES v {{ic|/etc/rc.conf}}:
 
  MODULES=('''acpi-cpufreq''')
 
  MODULES=('''acpi-cpufreq''')
  
A potom v {{Filename|/etc/laptop-mode/conf.d/cpufreq.conf}} definujte ''governors'', frekvencie a politiky.  
+
A potom v {{ic|/etc/laptop-mode/conf.d/cpufreq.conf}} definujte ''governors'', frekvencie a politiky.  
  
Ak používate <tt>laptop-mode-tools</tt> na riadenie <tt>cpufrequtils</tt>, potom nepotrebujete načítavať iné moduly a daemonov alebo
+
Ak používate {{ic|laptop-mode-tools}} na riadenie {{ic|cpufrequtils}}, potom nepotrebujete načítavať iné moduly a daemonov alebo
nastavovať ''governors'' a interakcie s ACPI. Prosím prečítajte si [[Laptop Mode Tools]], aby ste sa dozvedeli ako nainštalova a nakonfigurovať <tt>laptop-mode-tools</tt>.
+
nastavovať ''governors'' a interakcie s ACPI. Prosím prečítajte si [[Laptop Mode Tools]], aby ste sa dozvedeli ako nainštalova a nakonfigurovať {{ic|laptop-mode-tools}}.
  
 
=== Governors ===
 
=== Governors ===
Line 119: Line 130:
 
Dostupné ''governors'':
 
Dostupné ''governors'':
  
;{{Codeline|cpufreq_performance}} ''(default)'': CPU beží na maximálnej frekvencii. Režím je zabudovaný do kernelu.
+
;{{ic|cpufreq_performance}} ''(default)'': CPU beží na maximálnej frekvencii. Režím je zabudovaný do kernelu.
;{{Codeline|cpufreq_ondemand}} ''(odporúčané)'': Dynamicky mení frekvencie CPU na základe zaťaženia systému.
+
;{{ic|cpufreq_ondemand}} ''(odporúčané)'': Dynamicky mení frekvencie CPU na základe zaťaženia systému.
;{{Codeline|cpufreq_conservative}}: Podobné {{Codeline|ondemand}}, ale viac konzervatívne.
+
;{{ic|cpufreq_conservative}}: Podobné {{ic|ondemand}}, ale viac konzervatívne.
;{{Codeline|cpufreq_powersave}}: CPU beží na minimálnej frekvencii.
+
;{{ic|cpufreq_powersave}}: CPU beží na minimálnej frekvencii.
;{{Codeline|cpufreq_userspace}}: Manuálne nastavené frekvencie užívateľom.
+
;{{ic|cpufreq_userspace}}: Manuálne nastavené frekvencie užívateľom.
  
Načítanie požadovaného režimu sa robí pomocou {{Codeline|modprobe}}. Napríklad:
+
Načítanie požadovaného režimu sa robí pomocou {{ic|modprobe}}. Napríklad:
 
  # modprobe cpufreq_ondemand
 
  # modprobe cpufreq_ondemand
 
  # modprobe cpufreq_userspace
 
  # modprobe cpufreq_userspace
  
Alebo pridajte požadované režimy do riadku MODULES v {{Filename|/etc/rc.conf}} a reštartujte.
+
Alebo pridajte požadované režimy do riadku MODULES v {{ic|/etc/rc.conf}} a reštartujte.
 
  MODULES=(acpi-cpufreq '''cpufreq_ondemand''' '''cpufreq_powersave''')
 
  MODULES=(acpi-cpufreq '''cpufreq_ondemand''' '''cpufreq_powersave''')
  
Manuálne môžete režim zmeniť pomocou príkazu {{Codeline|cpufreq-set}} (ako root), ale toto nastavenie nebude uložené po reštarte alebo vypnutí. Napríklad:
+
Manuálne môžete režim zmeniť pomocou príkazu {{ic|cpufreq-set}} (ako root), ale toto nastavenie nebude uložené po reštarte alebo vypnutí. Napríklad:
 
  # cpufreq-set -g ondemand
 
  # cpufreq-set -g ondemand
  
Line 138: Line 149:
 
  # cpufreq-set -c 3 -g ondemand
 
  # cpufreq-set -c 3 -g ondemand
  
Pre viac informácii spustite príkaz {{Codeline|cpufreq-set --help}} alebo {{Codeline|man cpufreq-set}}.
+
Pre viac informácii spustite príkaz {{ic|cpufreq-set --help}} alebo {{ic|man cpufreq-set}}.
  
 
Pre tých, ktorý chcú GUI na zmenu ''governors'' alebo frekvencií môžu použiť [[trayfreq]].
 
Pre tých, ktorý chcú GUI na zmenu ''governors'' alebo frekvencií môžu použiť [[trayfreq]].
  
==== Zmena prahu {{Codeline|ondemand}} režimu ====
+
==== Zmena prahu {{ic|ondemand}} režimu ====
 
<!-- ln from [[Browser Plugins#Flash Performance]] -->
 
<!-- ln from [[Browser Plugins#Flash Performance]] -->
Na zmenu toho, kedy sa režim {{Codeline|ondemand}}prepne na vyšší stupeň môžete zmeniť {{Filename|/sys/devices/system/cpu/cpufreq/ondemand/up_threshold}}. Na zistenie aktuálnej hodnoty nastavenia zadajte nasledujúci príkaz ako root:
+
Na zmenu toho, kedy sa režim {{ic|ondemand}}prepne na vyšší stupeň môžete zmeniť {{ic|/sys/devices/system/cpu/cpufreq/ondemand/up_threshold}}. Na zistenie aktuálnej hodnoty nastavenia zadajte nasledujúci príkaz ako root:
 
  # cat /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
 
  # cat /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
  
Navrátená hodnota môže byť napr. <tt>80</tt> (default pri kerneli 2.6.31). To znamený, že režim {{Codeline|ondemand}} zvýšši frelvenciu keď jadro CPU dosiahne 80% využitia. Môžeme to zmeniť napr. nasledovne:
+
Navrátená hodnota môže byť napr. {{ic|80}} (default pri kerneli 2.6.31). To znamený, že režim {{ic|ondemand}} zvýšši frelvenciu keď jadro CPU dosiahne 80% využitia. Môžeme to zmeniť napr. nasledovne:
  
 
  echo "15" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
 
  echo "15" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
Line 154: Line 165:
  
 
==== Interakcia s ACPI ====
 
==== Interakcia s ACPI ====
Používatelia si môžu nastaviť režimy tak, aby sa automaticky prepínali v závislosti na rozličných ACPI eventoch (napr. pripojenie AC adaptéra alebo zatvorenie krytu laptopu). Eventy sú definované v {{Filename|/etc/acpi/handler.sh}}. Ak je balíček {{Package Official|acpid}}nainštalovaný, súbor pravdepodobne existuje a je spustiteľný. Napríklad, ak chcete zmeniť režim z {{Codeline|performance}} na {{Codeline|conservative}} pri odpojení AC adaptéra a zmeniť naspäť pri jeho zapojení zadáte do súboru:
+
Používatelia si môžu nastaviť režimy tak, aby sa automaticky prepínali v závislosti na rozličných ACPI eventoch (napr. pripojenie AC adaptéra alebo zatvorenie krytu laptopu). Eventy sú definované v {{ic|/etc/acpi/handler.sh}}. Ak je balíček {{Pkg|acpid}}nainštalovaný, súbor pravdepodobne existuje a je spustiteľný. Napríklad, ak chcete zmeniť režim z {{ic|performance}} na {{ic|conservative}} pri odpojení AC adaptéra a zmeniť naspäť pri jeho zapojení zadáte do súboru:
{{File
+
{{hc
|name=/etc/acpi/handler.sh
+
|/etc/acpi/handler.sh
|content=<nowiki>
+
|<nowiki>
 
[...]
 
[...]
  
Line 184: Line 195:
  
 
=== Daemon ===
 
=== Daemon ===
<tt>cpufrequtils</tt> obsahuje daemona, kotrý dovoľuje užívateľom nastaviť požadované režimy a min/max frekvencie pre všetky jadrá počas boot-u a bez potreby ďaľších nástrojov ako napr. ''kpowersave''.
+
{{ic|cpufrequtils}} obsahuje daemona, kotrý dovoľuje užívateľom nastaviť požadované režimy a min/max frekvencie pre všetky jadrá počas boot-u a bez potreby ďaľších nástrojov ako napr. ''kpowersave''.
  
Pred spustením daemona editujte ako root {{Filename|/etc/conf.d/cpufreq}} a nastavte požadované hodnoty, napr:
+
Pred spustením daemona editujte ako root {{ic|/etc/conf.d/cpufreq}} a nastavte požadované hodnoty, napr:
  
{{File
+
{{hc
|name=/etc/conf.d/cpufreq
+
|/etc/conf.d/cpufreq
|content=<nowiki>
+
|<nowiki>
 
#configuration for cpufreq control
 
#configuration for cpufreq control
  
Line 203: Line 214:
 
</nowiki>}}
 
</nowiki>}}
  
{{Note|Presné min/max hodnoty môžete zistiť pomocou {{Codeline|cpufreq-info}} po načítaní ovládaču (napr. {{Codeline|modprobe acpi-cpufreq}}). Tieto hodnoty sú ''voliteľné''. Môžete ich vynechať vymazaním alebo zakomentovaním riadkov min/max. Zmeny budú potom automatické.}}
+
{{Note|Presné min/max hodnoty môžete zistiť pomocou {{ic|cpufreq-info}} po načítaní ovládaču (napr. {{ic|modprobe acpi-cpufreq}}). Tieto hodnoty sú ''voliteľné''. Môžete ich vynechať vymazaním alebo zakomentovaním riadkov min/max. Zmeny budú potom automatické.}}
  
 
S požadovanou konfiguráciou následne spustíme daemona ako root pomocu:
 
S požadovanou konfiguráciou následne spustíme daemona ako root pomocu:
 
  # /etc/rc.d/cpufreq start
 
  # /etc/rc.d/cpufreq start
  
Pre automatické spúštanie daemona pri štarte pridajte {{Codeline|cpufreq}} do riadku DAEMONS v {{Filename|/etc/rc.conf}, napríklad:
+
Pre automatické spúštanie daemona pri štarte pridajte {{ic|cpufreq}} do riadku DAEMONS v {{ic|/etc/rc.conf}}, napríklad:
 
  DAEMONS=(syslog-ng networkmanager @alsa @crond @cupsd '''@cpufreq''')
 
  DAEMONS=(syslog-ng networkmanager @alsa @crond @cupsd '''@cpufreq''')
  
Line 214: Line 225:
 
* Niektoré aplikácie ako napr. [[ntop]] neodpovedajú dobre na automatické zmeny frekvencie. V tomto prípade to môže viesť k segmentation fault.
 
* Niektoré aplikácie ako napr. [[ntop]] neodpovedajú dobre na automatické zmeny frekvencie. V tomto prípade to môže viesť k segmentation fault.
  
* Niektoré CPU môžu trpieť nízkym výkonom pri režime {{Codeline|ondemand}}. Riešením je vypnutie zmien frekvencie alebo zvýšenie alebo zníženie ''up_treshold''.
+
* Niektoré CPU môžu trpieť nízkym výkonom pri režime {{ic|ondemand}}. Riešením je vypnutie zmien frekvencie alebo zvýšenie alebo zníženie ''up_treshold''.
  
 
* Niektoré CPU/BIOS konfigurácie môžu mať problém pri zmenách frekvencie na maximum alebo vo všeobecnosti pri zmenách frekvencie. nanešťastie momentálne existuje iba workaround. Pridajte processor.ignore_ppc=1" do kernel boot a/alebo zmente hodnotu v /sys/module/processor/parameters/ignore_ppc z 0 na 1.
 
* Niektoré CPU/BIOS konfigurácie môžu mať problém pri zmenách frekvencie na maximum alebo vo všeobecnosti pri zmenách frekvencie. nanešťastie momentálne existuje iba workaround. Pridajte processor.ignore_ppc=1" do kernel boot a/alebo zmente hodnotu v /sys/module/processor/parameters/ignore_ppc z 0 na 1.

Revision as of 10:15, 2 February 2014

Súhrn help replacing me
Prehľad populárnych nástrojov pre kernel CPUfreq subsystém.
Súvisiace
Laptop Mode Tools
pm-utils
powernowd

cpufrequtils je set utilít navrhnutý pre CPU frequency scaling, technológiu využívanú primárne na notebook-och. Táto technológia umožňuje operačnému systému meniť frekvenciu CPU v závislosti na aktuálnom vyťažení systému.

V spojení s pm-utils poskytuje kompletný power managment.

Tento článok pokrýva inštaláciu a základnú konfiguráciu balíčka cpufrequtils.

Inštalácia

Balíček cpufrequtils je dostupný v repozitáry [extra]:

# pacman -S cpufrequtils

Konfigurácia

Konfigurácia zmeny frekvencie CPU pozostáva z 3 častí:

  1. Načítanie správneho ovládača
  2. Načítanie požadovaných tzv. governors
  3. Konfigurácia a načítanie daemona.

Ovládač frekvencie CPU

Aby Vám zmena frekvencie pracovala správne, operačný systém musí poznať limity CPU. Na splnenie tejto požiadavky sa načítavá modul kernelu, ktorý dokáže čítať a riadiť špecifikácie CPU.

Väčšina dnešných notebook-ov a PC môže používať ovládač acpi-cpufreq. Ďaľšími možnosťami sú ovládače p4-clockmod, powernow-k8 a speedstep-centrino. Aby ste videlikompletný zoznam dostupných ovládačov, spustite nasledovný príkaz:

$ ls /lib/modules/2.6.??-ARCH/kernel/drivers/cpufreq
Tip: Pre AMD "K10" CPU ako napr. Phenom X4, použite ovládač powernow-k8.

Intel

Manuálne načítanie ovládača:

# modprobe acpi-cpufreq

Ak máte starší procesor Intel, vyššie uvedený príkaz môže vrátiť:

FATAL: Error inserting acpi_cpufreq ([...]/acpi-cpufreq.ko): No such device

V tomto prípade nahraďte kernel modul acpi-cpufreq s speedstep-centrino, p4-clockmod alebo speedstep-ich.

Modul speedstep-centrino je ale zastaraný.

V AUR-e sa náchdaza kernel s modulom speedstep-centrino. Je to balíček kernel26-pentium-m, ktorý nájdete tu.

AMD

# modprobe powernow-k8

Načítanie pri boot-e

Aby sa driver načítal automaticky pri štarte pridajte vhodný ovládač do riadku MODULES /etc/rc.conf. Príklad:

MODULES=( acpi-cpufreq vboxdrv fuse fglrx iwl3945 ... )

Keď je ovládač načítaný, detailné informácie o CPU môžete zobraziť príkazom:

$ cpufreq-info

Výstup príkazu by mal byť podobný tomuto:

$ cpufreq-info
 analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0 1
  hardware limits: 1000 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: ondemand, performance
  current policy: frequency should be within 1000 MHz and 2.00 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.00 GHz.
 analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0 1
  hardware limits: 1000 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: ondemand, performance
  current policy: frequency should be within 1000 MHz and 2.00 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.00 GHz.

Pre zobrazenie dostupných governors použijeme:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

Monitorovanie frekvenice CPU v reálnom čase si zabezpečíme pomocou:

watch grep \"cpu MHz\" /proc/cpuinfo

Pridelenie práv v Gnome

Gnome má pekný applet umožňujúci zmenu governor počas behu. Pre jeho použitie bez potreby zadávanie hesla pre root jednoducho vytvorte /var/lib/polkit-1/localauthority/50-local.d/org.gnome.cpufreqselector.pklaa vložte do neho nasledújúci text:

[org.gnome.cpufreqselector]
Identity=unix-user:USER
Action=org.gnome.cpufreqselector
ResultAny=no
ResultInactive=no
ResultActive=yes

Kde slovo USER nahradíte vašim používateľským menom.

Cpufrequtils a Laptop Mode Tools

Ak používate alebo plánujete používať Laptop Mode Tools možno ho budete chcieť nechať riadiť aj zmeny frekvencie CPU. V tomto prípade vložte acpi-cpufreq do riadku MODULES v /etc/rc.conf:

MODULES=(acpi-cpufreq)

A potom v /etc/laptop-mode/conf.d/cpufreq.conf definujte governors, frekvencie a politiky.

Ak používate laptop-mode-tools na riadenie cpufrequtils, potom nepotrebujete načítavať iné moduly a daemonov alebo nastavovať governors a interakcie s ACPI. Prosím prečítajte si Laptop Mode Tools, aby ste sa dozvedeli ako nainštalova a nakonfigurovať laptop-mode-tools.

Governors

Governors môžu byť myslené ako predkonfigurované schémy pre CPU. Tieto governors musia byť načítavané ako moduly kernelu, aby ich programy ako kpowersave alebo gnome-power-manager mohli využívať.

Dostupné governors:

cpufreq_performance (default)
CPU beží na maximálnej frekvencii. Režím je zabudovaný do kernelu.
cpufreq_ondemand (odporúčané)
Dynamicky mení frekvencie CPU na základe zaťaženia systému.
cpufreq_conservative
Podobné ondemand, ale viac konzervatívne.
cpufreq_powersave
CPU beží na minimálnej frekvencii.
cpufreq_userspace
Manuálne nastavené frekvencie užívateľom.

Načítanie požadovaného režimu sa robí pomocou modprobe. Napríklad:

# modprobe cpufreq_ondemand
# modprobe cpufreq_userspace

Alebo pridajte požadované režimy do riadku MODULES v /etc/rc.conf a reštartujte.

MODULES=(acpi-cpufreq cpufreq_ondemand cpufreq_powersave)

Manuálne môžete režim zmeniť pomocou príkazu cpufreq-set (ako root), ale toto nastavenie nebude uložené po reštarte alebo vypnutí. Napríklad:

# cpufreq-set -g ondemand

Tento príkaz nastaví režim iba pre prvý procesor. Ak máte viacjadrový alebo viacprocesorový systém, použite prepínač -c. Napr. pre nastavenie režimu pre štvrté jadro (jadrá sa číslujú od nuly):

# cpufreq-set -c 3 -g ondemand

Pre viac informácii spustite príkaz cpufreq-set --help alebo man cpufreq-set.

Pre tých, ktorý chcú GUI na zmenu governors alebo frekvencií môžu použiť trayfreq.

Zmena prahu ondemand režimu

Na zmenu toho, kedy sa režim ondemandprepne na vyšší stupeň môžete zmeniť /sys/devices/system/cpu/cpufreq/ondemand/up_threshold. Na zistenie aktuálnej hodnoty nastavenia zadajte nasledujúci príkaz ako root:

# cat /sys/devices/system/cpu/cpufreq/ondemand/up_threshold

Navrátená hodnota môže byť napr. 80 (default pri kerneli 2.6.31). To znamený, že režim ondemand zvýšši frelvenciu keď jadro CPU dosiahne 80% využitia. Môžeme to zmeniť napr. nasledovne:

echo "15" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
Note: Minimálna hodnota musí byť aspoň o 1 vyššia ako je v down_treshold. Zadanie hodnoty pod túto hodnotu vyhodí chybovú hlášku "bash: echo: write error: Invalid argument"

Interakcia s ACPI

Používatelia si môžu nastaviť režimy tak, aby sa automaticky prepínali v závislosti na rozličných ACPI eventoch (napr. pripojenie AC adaptéra alebo zatvorenie krytu laptopu). Eventy sú definované v /etc/acpi/handler.sh. Ak je balíček acpidnainštalovaný, súbor pravdepodobne existuje a je spustiteľný. Napríklad, ak chcete zmeniť režim z performance na conservative pri odpojení AC adaptéra a zmeniť naspäť pri jeho zapojení zadáte do súboru:

/etc/acpi/handler.sh
[...]

 ac_adapter)
     case "$2" in
         AC*)
             case "$4" in
                 00000000)
                     echo "conservative" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor    
                     echo -n $minspeed >$setspeed
                     #/etc/laptop-mode/laptop-mode start
                 ;;
                 00000001)
                     echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                     echo -n $maxspeed >$setspeed
                     #/etc/laptop-mode/laptop-mode stop
                 ;;
             esac
         ;;
         *) logger "ACPI action undefined: $2" ;;
     esac
 ;;

[...]

Daemon

cpufrequtils obsahuje daemona, kotrý dovoľuje užívateľom nastaviť požadované režimy a min/max frekvencie pre všetky jadrá počas boot-u a bez potreby ďaľších nástrojov ako napr. kpowersave.

Pred spustením daemona editujte ako root /etc/conf.d/cpufreq a nastavte požadované hodnoty, napr:

/etc/conf.d/cpufreq
#configuration for cpufreq control

# valid governors:
#  ondemand, performance, powersave,
#  conservative, userspace
governor="ondemand"

# valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="1GHz"
max_freq="2GHz"
Note: Presné min/max hodnoty môžete zistiť pomocou cpufreq-info po načítaní ovládaču (napr. modprobe acpi-cpufreq). Tieto hodnoty sú voliteľné. Môžete ich vynechať vymazaním alebo zakomentovaním riadkov min/max. Zmeny budú potom automatické.

S požadovanou konfiguráciou následne spustíme daemona ako root pomocu:

# /etc/rc.d/cpufreq start

Pre automatické spúštanie daemona pri štarte pridajte cpufreq do riadku DAEMONS v /etc/rc.conf, napríklad:

DAEMONS=(syslog-ng networkmanager @alsa @crond @cupsd @cpufreq)

Možné problémy

  • Niektoré aplikácie ako napr. ntop neodpovedajú dobre na automatické zmeny frekvencie. V tomto prípade to môže viesť k segmentation fault.
  • Niektoré CPU môžu trpieť nízkym výkonom pri režime ondemand. Riešením je vypnutie zmien frekvencie alebo zvýšenie alebo zníženie up_treshold.
  • Niektoré CPU/BIOS konfigurácie môžu mať problém pri zmenách frekvencie na maximum alebo vo všeobecnosti pri zmenách frekvencie. nanešťastie momentálne existuje iba workaround. Pridajte processor.ignore_ppc=1" do kernel boot a/alebo zmente hodnotu v /sys/module/processor/parameters/ignore_ppc z 0 na 1.