abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 13:55 | Nová verze

    Byla vydána verze 0.77 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 1
    27.5. 12:11 | Nová verze

    SteamOS (Wikipedie) byl vydán ve verzi 3.2. Přehled novinek v oznámení.

    Ladislav Hagara | Komentářů: 1
    27.5. 09:00 | Nová verze

    SecureDrop (Wikipedie, GitHub) je open source platforma pro bezpečné a důvěrné sdílení informací mezi žurnalisty a jejich zdroji. Vydána byla nová verze 2.4.0.

    Ladislav Hagara | Komentářů: 0
    26.5. 20:33 | IT novinky

    Společnost Proton AG představila novinky ve svých službách Proton Mail, Proton VPN, Proton Calendar a Proton Drive. Služby jsou přístupné z nového webu proton.me. Aktualizován byl ceník. Představen nový vizuál.

    Ladislav Hagara | Komentářů: 1
    26.5. 19:22 | Nová verze

    Týden po vydání Red Hat Enterprise Linux (RHEL) 9.0 byl vydán jeho klon AlmaLinux 9. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    26.5. 15:00 | IT novinky

    Broadcom kupuje firmu VMware za 61 miliard dolarů.

    Ladislav Hagara | Komentářů: 12
    26.5. 09:55 | Nová verze

    Google Chrome 102 byl s verzí 102.0.5005.61 prohlášen za stabilní. Opraveno bylo 32 bezpečnostních chyb. Přehled novinek na Chromium Blogu nebo na Chrome Platform Status. Oficiální přehled novinek (New in Chrome, YouTube) zatím nebyl publikován. Přehled novinek v nástrojích pro vývojáře je bez videa.

    Ladislav Hagara | Komentářů: 0
    26.5. 01:55 | Komunita

    The Open Source Software Security Mobilization Plan (pdf) je konsorciem The Linux Foundation zastřešen plán na zvýšení bezpečnosti open source softwaru.

    Ladislav Hagara | Komentářů: 2
    26.5. 00:11 | Zajímavý článek

    Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2022. Máte-li na starost bezpečnost IT, výsledky vás nepotěší. Microsoft Teams, Oracle Virtualbox, Mozilla Firefox, Microsoft Windows 11, Ubuntu Desktop, Apple Safari, Tesla Model 3 Infotainment System. Vše potopeno. Demonstrované bezpečnostní chyby ve Firefoxu jsou již opraveny ve verzi 100.0.2.

    Ladislav Hagara | Komentářů: 0
    25.5. 13:22 | Nová verze

    Lokální úložiště Stratis (Wikipedie), alternativa k úložištím s ZFS a Btrfs, bylo vydáno ve verzi 3.1.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
     (61%)
     (17%)
     (22%)
    Celkem 356 hlasů
     Komentářů: 29, poslední 24.5. 00:02
    Rozcestník

    Cpufreq – pro procesory mnoha frekvencí

    6.3.2006 04:27 | Přečteno: 4768× | 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 | Essex
    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 | Essex
    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: 27 | 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: 23 | 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   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.