abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Sledujte AbcLinuxu.cz na:
facebook favicon logo  Facebooku twitter favicon logo  Twitteru,   identi.ca favicon logo  Identi.ca,   rss logo  RSS
Rozšířené hledání
×
včera 22:22 | Zajímavý software
Webový prohlížeč Chrome v budoucnu asi nebude mít podporu pro online ověřování, zda nebyl HTTPS certifikát revokován (CRL). V odkazovaném článku je uvedeno několik důvodů pro tento krok, zejména pak to, že toto ověřování nemusí být spolehlivé a zpomaluje načítání stránek. Namísto toho je navrhována distribuce revokovaných klíčů přes aktualizační mechanismus prohlížeče.
Luboš Doležel (Doli) | Komentářů: 2
včera 22:18 | Zajímavý projekt
Grafický server Wayland, možný nástupce současného X Serveru, se své první stabilní verze 1.0 dočká možná už v druhé polovině tohoto roku, nejpozději však za rok. Tento plán prezentoval tvůrce Waylandu Kristian Høgsberg na konferenci FOSDEM, která během uplynulého víkendu probíhala v Bruselu.
Migilenik | Komentářů: 0
včera 22:17 | Pozvánky

Ve středu 15.2. od 18:00 proběhne na Fakultě informatiky Masarykovy univerzity v Brně únorové setkání Czech JBoss User Group. Tentokrát bude tématem vytváření opravdových Java EE aplikací s JBoss AS. Zahraničním hostem bude Pete Muir, který posluchačům ukáže, jak se taková aplikace vytváří. Více informací na wiki stránce akce.

Sešívaný | Komentářů: 0
včera 22:17 | Zajímavý projekt
Díky pomoci ze strany Google se v posledních pár dnech podařilo sepsat příručku pro začínající vývojáře v prostředí KDE. Tato kniha je dostupná nejen v podobě PDF/ePub, ale i v tištěné podobě.
Luboš Doležel (Doli) | Komentářů: 0
včera 22:14 | Zajímavý projekt
První hromadně vyráběné kousky laciného ARM minipočítače Raspberry Pi budou zhotoveny 20. února. Hned poté se započne s přepravou do Velké Británie, takže prodej by měl začít do konce měsíce. Druhou novinkou je zveřejnění datasheetu k SoC BCM2835, které je hlavním stavebním kamenem Raspberry Pi.
Luboš Doležel (Doli) | Komentářů: 0
včera 14:34 | Nová verze
Vyšla nová stabilní verze populárního ruského webového serveru nginx – 1.0.12. Seznam změn hovoří zejména o opravě několika chyb. Nově je možné v konfiguraci specifikovat verzi TLS u direktivy ssl_protocols a SSI příkaz if podporuje pojmenované zachycení (tzv. capture) v regulárních výrazech.
MMMMMMMMM | Komentářů: 5
včera 12:36 | Komunita
Phoronix upozorňuje, že svobodný ovladač Nouveau má funkční podporu pro OpenCL. Úvodní podpora se týká ovladače pro čipy NV50, tedy grafické karty GeForce 8, 9, 100, 200 a 300. Kód je zatím udržován v samostatné větvi.
Nicky726 | Komentářů: 2
včera 12:26 | Komunita
Vývojář Kubuntu Jonathan Riddell oznámil, že Canonical končí s financováním Kubuntu. Kubuntu tak bude komunitní distribucí jako jiné deriváty Ubuntu, skončí i možnost placené podpory a Jonathan se nebude moct ve své pracovní době věnovat Kubuntu.
Nicky726 | Komentářů: 46
včera 00:12 | Nová verze
Vyšla nová vanilla linuxová jádra 3.0.20 a 3.2.5. Přidán byl jediný patch, který upravuje nastavení ASPM (Active State Power Management) a tím snižuje spotřebu linuxového jádra. Posouzení nutnosti aktualizace nechává Greg Kroah-Hartman tentokrát na uživatelích.
Ladislav Hagara | Komentářů: 17
6.2. 22:56 | Nová verze
V Beta Channel se objevil Firefox 11 přinášející zajímavé novinky. Vylepšený Migration Tool nově umožňuje import informací i z prohlížeče Google Chrome, Firefox Sync zase (skrze Add-on Sync) synchronizaci doplňků mezi různými instalacemi Firefoxu. Přibyla i podpora protokolu SPDY. Vývojáře bude zajímat především nový 3D Web Inspector, který vznikl implementací rozšíření Tilt.
Migilenik | Komentářů: 0
Servery pro sdílení souborů (typu MegaUpload)
 (40%)
 (49%)
 (11%)
Celkem 498 hlasů
 Komentářů: 29, poslední včera 08:38
Rozcestník
Reklama
Autoškola testy online Levný benzín

Cpufreq – pro procesory mnoha frekvencí

6.3.2006 04:27 | Přečteno: 4049× | Hardware | poslední úprava: 18.1.2007 00:51

Současné x86 procesory (K8 a všechny mobilní) umějí za běhu přepínat mezi několika frekvencemi podle potřeby. Linux samozřejmě dokáže jejich schopnost náležitě využít.

Hardware

Frekvenci umějí měnit téměř všechny procesory z rodiny K8 (AMD Athlon-64 a příbuzní, výjimkou jsou jen některé serverové typy). Stará se o to technologie PowerNow! ve verzi 1.4. Frekvence jádra procesoru je určena hodnotou násobiče, která se může měnit velice rychle. Obvykle bývají povoleny hodnoty násobiče 5×, 9× 10×, 11× a 12×, přičemž horní hodnota je dána typem procesoru a nelze ji překročit. Uvedeným násobičům odpovídají u nepřetaktovaného procesoru frekvence 1 GHz, 1,8 GHz, 2,0 GHz, atd. Frekvenci, na které procesor právě běží, určuje operační systém přes MSR registry.

Měnit frekvenci umějí rovněž všechny současné typy x86 mobilních procesorů. Bohužel s nimi nemám bližší zkušenosti, ale většina postřehů v tomto článku by měla platit i pro ně.

Nastavení jádra

Pro Athlon-64 stačí v sekci Power Management Options povolit CPU Frequency scaling a PowerNow! technologii. Jako výchozí governor doporučuji zvolit performance a ostatní zkompilovat do jádra nebo jako moduly. Pokud chcete mít přehled, kolik času tráví procesor v různých frekvencích, vyberte statistiky (stačí jako modul).

Veškeré nastavování se děje zápisem do souborů v adresáři /sys/devices/system/cpu/cpu0/cpufreq. Dále se na tento adresář budu odkazovat jen jako cpufreq. Adresář cpufreq obsahuje krom jiných i následující zajímavé soubory (ro jen pro čtení, rw pro čtení i zápis):

scaling_available_frequencies
frekvence, na kterých procesor může běžet (ro)
scaling_cur_freq
aktuální frekvence, na které procesor běží (ro, rw)
scaling_available_governors
dostupné governory (musí být zakompilovány do jádra nebo načteny jako moduly) (ro)
scaling_governor
aktuálně používaný governor (rw)
stats/time_in_state
počet setin sekundy (druhý sloupec) strávený v jednotlivých frekvencích (první sloupec) (ro)
stats/total_trans
celkový počet změn frekvencí (ro)

Ostatní soubory již nejsou tak zajímavé a jejich názvy jsou samovysvětlující.

Governory

Chování procesoru určují governory. Zatím jich je v jádře implementováno pět:

performance
procesor běží na nejvyšší možné frekvenci, nelze ji snížit
powersave
procesor běží na nejnižší možné frekvenci, nelze ji zvýšit
ondemand
procesor přepíná mezi frekvencemi, podle zátěže buď přepne skokově na nejvyšší frekvenci, nebo frekvenci postupně snižuje; vhodný při napájení ze sítě
conservative
procesor přepíná mezi frekvencemi, podle zátěže po krocích zvyšuje či snižuje frekvenci; vhodný při napájení z baterie
userspace
umožňuje nastavení frekvence uživatelem

Performance a powersave

Velice jednoduché governory, které napevno nastaví jednu frekvenci (nejvyšší či nejnižší). Performace doporučuji mít jako výchozí governor – start systému je s ním rychlý a bezproblémový.

Ondemand a conservative

Pokročilé governory, které přizpůsobují frekvenci procesoru zátěži. Ondemand při zátěži skokově přepne na nejvyšší frekvenci, kterou poté postupně snižuje, což je velice příjemné pro uživatele, ale už mnohem méně příjemné např. pro baterii notebooku. Proto byl kód upraven a vznikl tak conservative governor, který frekvenci zvyšuje postupně.

Oba governory lze nastavovat pomocí souborů v adresáři cpufreq/ondemand, resp. cpufreq/conservative:

up_threshold
při jakém vytížení (0–100; 80) se má zvýšit frekvence (ondemand governor 11–100) (rw)
down_threshold
při jakém vytížení (0–100; 20) se má snížit frekvence (ondemand governor nepodporuje) (rw)
sampling_rate
jak dlouho musí být procesor (ne)vytížen v μs, aby se změnila jeho frekvence; dále nazýváno jako doba přechodu (rw)
sampling_rate_min
nejnižší možná hodnota sampling_rate (ro)
sampling_rate_max
nejvyšší možná hodnota sampling_rate (ro)
sampling_down_factor
kolikrát má být doba přechodu z vyšší frekvence na nižší delší než doba přechodu opačného (rw)
ignore_nice_load
zda se mají (0) nebo nemají (1) počítat do zátěže procesy s nižší prioritou; v jádrech starších než 2.6.15 se volba jmenuje ignore_nice a její chování 0 a 1 je opačné (rw)

Hackujeme jádro

Výchozí hodnota doby doby přechodu je u obou governorů brána jako tisícenásobek latence přechodu. Latence přechodu u procesorů z rodiny K8 činí asi 1,24 ms, takže výchozí doba přechodu je 1,24 s. Minimální hodnota se bere jako polovina výchozí doby, maximální jako její pětisetnásobek. Sluší se podotknout, že tyto governory si hlídají, aby latence přechodu nebyla delší než 10 ms, jinak se odmítají nechat používat. Tohle může být problém u starších mobilních procesorů.

Pokud se vám zdá dolní limit příliš omezující, stačí upravit definici MIN_SAMPLING_RATE v souborech cpufreq_ondemand.c, resp. cpufreq_conservative.c a překompilovat je. Já jsem místo poloviny zvolil dvacetinu.

Conservative governor v jádrech starších než 2.6.17 obsahuje chybu, kdy konstantu DEF_SAMPLING_RATE_LATENCY_MULTIPLIER definuje jako 100000 místo rozumnějšího 1000. Důsledkem je pak výchozí doba přechodu 124 s pro K8 procesory a přetečení horního limitu. Lze jednoduše dát do pořádku úpravou zdrojového kódu.

Userspace

Umožňuje nastavení frekvence procesoru zápisem do cpufreq/scaling_cur_freq. Nejčastěji je využíván ve spojení s programy jako cpudyn, cpufreqd či powernowd, ale nic vám nebrání měnit frekvenci skutečně ručně, akorát zapisovaná frekvence musí být ze seznamu cpufreq/scaling_available_frequencies.

Moje nastavení

Na své workstation bootuji s governorem performance a při initu je pak provedeno:

CPUFREQ=/sys/devices/system/cpu/cpu0/cpufreq
echo ondemand > $CPUFREQ/scaling_governor
echo 124000   > $CPUFREQ/ondemand/sampling_rate
echo 10       > $CPUFREQ/ondemand/sampling_down_factor
echo 0        > $CPUFREQ/ondemand/ignore_nice

Jen pro zajímavost, výrobce u mého procesoru ADA3000DIK4BI (Winchster 3000+, 1,8 GHz, 90 nm SOI) uvádí TDP při 1 GHz 21 W a při 1,8 GHz 67 W.

       

Hodnocení: 100 %

        špatnédobré        

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

Komentáře

Vložit další komentář

6.3.2006 06:51 imout | skóre: 10 | blog: imout blog | Ostrava - Hrabůvka
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
téměř všechny procesory z rodiny K8 (AMD Athlon-64 a příbuzní, výjimkou jsou jen některé serverové typy).
Další takovou "vyjímkou" jsou Semprony(64) s jádrem Palermo s ratingem pod 3000+
++++++++++[>+++++++<-]>-.<++++++++++[>--<-]>.<++[>+++<-]>.<<+++++[>++<-]>.
Cubic avatar 6.3.2006 10:56 Cubic | skóre: 24 | blog: obcasne_vyplody | Leeds
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
jak poznam jestli jsem postizen tou vyjimkou? mam smpr 2800+ 64bit s754 cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 44
model name      : AMD Sempron(tm) Processor 2800+
stepping        : 2
cpu MHz         : 1607.340
cache size      : 256 KB
diky za odpoved
Cubic avatar 6.3.2006 11:09 Cubic | skóre: 24 | blog: obcasne_vyplody | Leeds
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
tak jsem se po tom koukal a vypada to ze ja jsem ta vyjimka
6.3.2006 15:26 imout | skóre: 10 | blog: imout blog | Ostrava - Hrabůvka
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
jj, jsi. Semprony podprojí Cool'n'Quiet (doufám, že jsem to napsal dobře) až od modelu 3000+.
btw já mám tu vyjímku taky (akorát ten takt je trohu pozměněný ;-)):
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 28
model name      : AMD Sempron(tm) Processor 2800+
stepping        : 0
cpu MHz         : 2503.708
cache size      : 256 KB
++++++++++[>+++++++<-]>-.<++++++++++[>--<-]>.<++[>+++<-]>.<<+++++[>++<-]>.
6.3.2006 08:47 EiFFeL | skóre: 24 | blog: EiFFeL | Vranovská Ves
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
neco podobneho pro AthlonXP a podobne...
http://forums.gentoo.org/viewtopic-t-273047-highlight-nforce2.html
6.3.2006 16:12 medulin | skóre: 31 | blog: medulin | ČR
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
Mam notebook Compaq Armada M700. Speed step se mi podarilo zprovoznit, ale jen pokud se podari zaves i modul speedstep-smi a to se podari az pri 3 az 5 pokusu. V logu je:
cpufreq: change failed with new_state 1 and result 2
cpufreq: change failed with new_state 0 and result 2
Nevi nekdo proc ten modul nejde zavest napoprve? Vyresil sem to tak ze jsem do souboru /etc/rc.d/rc napsal modprobe speedstep-smi 5krat za sebou. Asi to nebude to prave reseni, ale lepsi mne nenapadlo.
Grunt avatar 28.11.2006 21:01 Grunt | skóre: 16 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Cpufreq – pro procesory mnoha frekvencí
Dobrý den. Docela by mňa zajímalo jaké máte s CPUFreq zkušenosti co sa týče užitečnosti na normálním Desktopovém počítači.O co se jedná?:

Zkompiloval sem si jádro ,přihoďil CPUFreq,Začal sem s nastavovaním:Governor ondemand,up_threshold 60%,sampling_rate 200ms(Ta 1sec byla hrozná...to než sa aplikace vůbec rozjela tak aj skončila).Zatím to jakž takš ide ,ale pokud sa rozjede HDD a nedaj bože sa na něho začne ukládat tak to při práci docela ruší ,poněvadž nad 60% to nemá šancu vzlétnůt zato z procesoru to docela ukůsne(bez zátěže je nataktovaný na 333Mhz)...ale to je nedůležité.Ide mi o to že sem si k bedňe připl AmpérMetr (nebo jak sa ta pekelná krabička menuje) a začal měřat...a naměřal sem to že to na minimální aj na maximální frekvenci bez zátěže žere naprosto stejně. Samozřejmě ,při zátěži to papá rapidně víc ,ale to zas skáče na frekvenci maximální(eště sem neskůšal odběr při polovičním a max. taktu ,ale myslim si že to o moc nepřidá). A tak mi nějak uniká význam této technologie ,poněvadž po řádném uvážení to energie na Desktopu moc neušetří a akorát to otravuje (viz. výše zmíněné zasekávání při rozjetí hadru).

S největší pravděpodobností sem něco udělal špatně (nějaké nastavení ,nebo měřání (furt mi elektrikáři tvrďá že je 270mA málo ,ale když je to při 0% zátěži?).Nemáte tedy někdo nějaké lepší zkušenosti či nějaké lepší fígle?
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!

Založit nové vláknoNahoru

ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2011 Argonit s. r. o. Všechna práva vyhrazena.