Portál AbcLinuxu, 1. května 2025 15:31

Power management dvoujádrových procesorů

1.5.2007 08:52 | Přečteno: 3013× | nová etapa | Výběrový blog | poslední úprava: 1.5.2007 12:23

V dnešní době se do popředí zájmu a pozornosti uživatelů dostávají dvoujádrové procesory. Na výběr je Intel Core Duo, Intel Core 2 Duo nebo AMD Athlon64 X2, AMD Turion64 X2. My se podíváme jak je možné nastavit power management u těchto procesorů.

Úvod

Power managmentem nebo-li správou napájení se rozumí změna frekvence a s tím spojena automatická změna voltáže především u mobilních procesorů. V posledních letech se však setkáváme také u desktopových procesorů s těmito funkcemi, a to pod názvy AMD PowerNow! a Intel Enhanced Speedstep. Procesory se stávají stále více energeticky náročnějšími a není vždy potřeba, aby procesor jel 100% výkonem. Zejména pak u notebooků je třeba brát ohled na výdrž baterie, hluk a teplotu. Nyní ukážeme jak změnit frekvenci pomocí ACPI u dvoujádrových procesorů.

Co potřebuji pro správu napájení?

Základem je jádro se zabudovanou podporou SMP,ACPI a CPU Frequency scaling - funguje bezproblémů jádro 2.6.20 (i starší). Dále pak ACPI klienta a cpufreqd, který nám umožnuje změnu frekvence hned při bootování. Cpufreqd závisí na cpufrequtils, který dodává informace o minimální a maximální frekvenci procesoru. Ještě zbývá laptop-mode-tools, který umožnuje nezávislou změnu frekvence u obou jader procesoru. Bez něj nedokázal cpufreqd změnit frekvenci u druhého jádra procesoru. Pokud máte procesor od AMD je možné použít místo cpufreqd program powernowd.

Nastavení systému a programů

Než začneme s nastavením programů musíme vědět, zda máme zkompilovány všechny potřebné moduly a podporu ACPI. Základní moduly jsou 'acpi_cpufreq', 'cpufreq_stats', 'cpufreq_powersave', 'cpufreq_conservative', 'cpufreq_ondemand', 'cpufreq_userspace'a můžeme načíst také 'ac', 'battery', 'button', 'fan', 'video'. U jader z distribuce tomu určitě tak bude, moduly můžeme uložit do '/etc/modules.conf', aby se načítali při každém spuštěním.

Pozor, změnu frekvence již nemá na starosti modul 'centrino_speedstep', který je označen jako zastaralý, ale nahradil jej novější 'acpi_cpufreq' - ACPI Processor P-States driver. Při načtení modulu 'centrino_speedstep' již nelze modul 'acpi_cpufreq' nahrát a změna frekvence nemusí fungovat správně.

Jaký je v tom rozdíl? Zásadní,'centrino_speedstep' je ovládaný jádrem, zatímco změnu frekvence u 'acpi_cpufreq' provádí přímo ACPI počítače. Proto se doporučuje v případě problémů aktualizace BIOSU.

Nyní když máme ACPI funkční můžeme nastavit programy. Nejprve musíme zjistit rozsah frekvencí procesoru:
[alois@amilo ~]$ cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 1000 MHz - 1.67 GHz
  available frequency steps: 1.67 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: userspace, ondemand, conservative, powersave, performance
  current policy: frequency should be within 1000 MHz and 1.67 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1000 MHz.
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 1
  hardware limits: 1000 MHz - 1.67 GHz
  available frequency steps: 1.67 GHz, 1.33 GHz, 1000 MHz
  available cpufreq governors: userspace, ondemand, conservative, powersave, performance
  current policy: frequency should be within 1000 MHz and 1.67 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1000 MHz.

Když známe maximální a minimální frekvenci, nastavíme '/etc/conf.d/cpufreq' a zároveň můžeme vybrat svůj governor, který nám nejlépe vyhovuje. Více se můžete dočíst v Cpufreq – pro procesory mnoha frekvencí

#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="1.667GHz"
Pro správnou funkci změny frekvence je nutno při bootování spouštět démony 'acpid', 'cpufreqd', 'laptop-mode'. Nyní po restartu a nabootování systému již s démony funguje správa napájení procesorů bezproblémů.

Závěr

Tento návod vznikl při zkoumání možností správy a spotřeby napájení notebooku s 64-bitovým procesorem Intel Core 2 Duo T5500@1660 MHz. Během testování jsem narazil zajímavý problém, kdy při použití určitých kombinací programů a démonů nefungovala dobře správa napájení procesoru - buď fungovala změna frekvence pouze u jednoho jádra a druhé běželo na nejvyšší frekvenci nebo nešlo přepnout na jinou frekvenci.

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Power management dvoujádrových procesorů, obrázek 1 Power management dvoujádrových procesorů, obrázek 2 Power management dvoujádrových procesorů, obrázek 3 Power management dvoujádrových procesorů, obrázek 4 Power management dvoujádrových procesorů, obrázek 5

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

andree avatar 1.5.2007 09:53 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: Power management dvoujádrových procesorů.
Odpovědět | Sbalit | Link | Blokovat | Admin
hmm, obcas si tak rad spominam na windowsy a ich spatnu kompatibilitu...

teraz kazdeho polroka co zmenim jadro, prestanie mi nejaka vec fungovat :-/ clovek by cakal, ze aspon podpora centrina bude stabilna, a hov....

zatial mam sice modul speedstep_centrino skompilovany aj v distribucnom jadre, ale ta zmena za acpi driver ma asi neminie.. akurat som zvedavy, ako pouzijem Linux-PHC na tom novom module, dufam ze to niekto portuje v dohladnej dobe...
1.5.2007 10:01 alium | skóre: 38 | blog: Category 1100
Rozbalit Rozbalit vše Re: Power management dvoujádrových procesorů.
Co jsem četl, tak se na vývoji acpi_cpufreq - ACPI Processor P-States driver údajně podílí i Intel, takže podpora procesorů by měla být na dobré úrovni. "Undervolt" nepoužívám, ale předpokládám, že to vývojáři (časem) upraví i na ovladač acpi_cpufreq.
Cubic avatar 1.5.2007 13:22 Cubic | skóre: 24 | blog: obcasne_vyplody | Essex
Rozbalit Rozbalit vše Re: Power management dvoujádrových procesorů
Odpovědět | Sbalit | Link | Blokovat | Admin
Zvlastni, mam stejny procesor a muj cpufreqd meni govenornory na obou jadrech soucasne a utilitce laptop-mode jsem prenechal jen spravu napajeni disku. Gentoo x86

p.s. co mate za notebook? v mem asus f3jc mam nepatrne mensi frekvence
available frequency steps: 1.66 GHz, 1.33 GHz, 996 MHz
Do you like what you see? No? Well, bloody look harder.
1.5.2007 16:20 alium | skóre: 38 | blog: Category 1100
Rozbalit Rozbalit vše Re: Power management dvoujádrových procesorů
Mám Fujitsu Siemens Amilo Pro V 3505

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.