Fórum Root.cz
Hlavní témata => Software => Téma založeno: tomas 20. 03. 2014, 15:41:30
-
Ahoj,
na novějších kernelech 3.10, 3.12. 3.13 (suse, manjaro, sabayon ) jsou povoleny "GOVERNORS" jen powersave a performace.
Na staršich (3.2 ) jsou většinou povoleny ještě další (ondemand, conservative ... )
Co jsem googlil, tak jediná možnost jak to změnit je kompilace vlastního jádra, což už je na mě asi moc :-)
Je nějaký jiný způsob jak povolit další governory?
-
jestli ho nemaji jako modul, tak budes muset kompilovat
trochu mne zarazi, ze neni ondemand a neni defaultni, to by tak melo byt
zcat /proc/config.gz | grep CONFIG_CPU_FREQ_GOV
-
Ono totiz cca od 3.10 je ondemand obecne nedoporucovane. Na novejsich intelech myslim nejde ani nastavit. Vychazi to z jakesi studie ci vyzkumu (citation needed, jedna z diskuzi na toto tema: https://bbs.archlinux.org/viewtopic.php?id=163524), ktera rika, ze je lepsi vystrelit frekvenci na max, rychle udelat co je treba a pak zase usnout na nizke frekvenci nebo do hlubokeho spanku.
Obecne stfg "race to idle"
-
Kompilace vlastního jádra není nic složitýho. Složitý je akorát vědět něco o svym HW :-) Já si kompiluju jádro už pár let a dnes bych si troufnul říct, že udělám jádro, který napoprvý najede se vším potřebným. Je to jen o hodně čtení (co k čemu je, abys věděl, co vlastně potřebuješ) a pak o hodně zaškrtávání/odškrtávání (to podle toho čtení).
Největší problém (pro Tebe) bude to, že to jádro je součástí už hotový distribuce, takže do hry přichází ještě initramfs, moduly (95% nepotřebných) a UEFI. S initramfs nemám zkušenosti, moduly se snažím zadělat do jádra (tak to prostě já osobně preferuju) a UEFI mám jen jeden počítač a i na něm UEFI boot nepoužívám... Moje jádro je zkompilované na Core i5-750 (4x fyzický jádro, 2,66GHz) za 3 minuty a má cca 4MB.
Nemusíš se toho úplně bát, ale pokud jedeš na nějakym user-friendly distru (Ubuntu, SUSE, Fedora, ...), budeš si přitom rvát vlasy... Na tohle je skvělý Gentoo (nebo Arch, osobně nemám zkušenost), kde Ti od začátku nezbývá než si jádro uplácat.
Teorie ale říká (jak tu někdo naznačil), že si vytáhneš ze současnýho jádra konfigurák, v něm zaškrtáš governory, zkompiluješ a hotovo. Takhle jednoduchý to ale v praxi určitě nebude a někde se to zasekne :-D
-
no zkusím o té kompilaci něco přečíst,ale nevim nevim ... :-)
jinak je divný, že procesor je u 3.2 na volbu conservative v klidovém stavu stabilně na 800Mhz
a u těch novějších na volbu powersave neklesá pod 1100Mhz, což se samozřejmě projeví na výdrži.
-
Může to mít souvislost s throttlingem (může bejt v dřívějším jádře povolenej a v novějším ne, např.). O co jde - governor dává CPU vědět o běžných hranicích toho CPU, tedy třeba 1100 - 2500 po 400MHz. Throttling navíc udává v %, kolik z toho aktuálního taktu lze využít. Tím pádem se lze dostat i pod nejnižší úroveň (třeba pod těch 1100). Já osobně si myslím, že nemá cenu throttling řešit (ideálně zcela vypnout), protože podle mě není energetická úspora až tak velká, aby se vyplatilo snižovat takt víc, než umožní governor. Je to jen můj názor, naprosto nepodložený :-)
Nemusí to tím být, ale mohlo by.
Zpět ke kompilaci jádra: Jakou máš distribuci? Ještě mě ta napadá, jestli nemůže governor existovat taky jako modul... Stálo za to možná pohledat.
-
Ještě mě ta napadá, jestli nemůže governor existovat taky jako modul... Stálo za to možná pohledat.
jak jsem jiz byl rekl 8)
-
jinak je divný, že procesor je u 3.2 na volbu conservative v klidovém stavu stabilně na 800Mhz
a u těch novějších na volbu powersave neklesá pod 1100Mhz, což se samozřejmě projeví na výdrži.
conserva byla vetsinou horsi nez ondemand
co mas vlastne za CPU? podle 800MHz to vypada na amd a tam byly nejaky cachry a stary "AMD Opteron/Athlon64 PowerNow!" nefunguje, misto toho se ma pouzivat "ACPI Processor P-States driver"
tady koukas, ze?
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
-
jak jsem jiz byl rekl 8)
Promiň, v tý Tvojí předchozí odpovědi jsem první řádek vůbec nečetl, jinak bych to už znova nenakousnul ;-)
-
procesor je Intel core i5, rozsah frekvence 800 - 3200 (turbo mod)
na 3.12 vypíše dostupné frekvence 800 - 3200 , ale i tak se to drží kolem těch 1100, podle mě k tomu není důvod.
-
a co rekne
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
intel_pstate? jestli jo, tak ma pravdu nextsux a to je novy scaling pro i3-7, prej je lepsi, ale nektery veci neukazuje nebo zmatene ukazuje
zrusit se da pomoci parametru jadra intel_pstate=disable
ale rozmysli si/vyzkousej, jestli je lepsi vetsi uspora energie nebo aby hlasil vsechny frekvence presne
-
Primárně řeším vyšší frekvenci procesoru a tím pádem i větší spotřebu.
Již delší dobu zkouším různý věci a myslel jsem, že to bude těmy governory,
Tak mě napadlo povolit všechny a vyzkoušet jak se to projeví na frekvenci.
Ale o víkendu jsem zkoušel kernel 3.2, který má povolený stejně jako 3.10, 3.13 jen powersave a performace a při běžné práci je frekvence stabilně 800 , jen občas vyskočí výš.
Logicky z toho teda usuzuji, že governory na to nemají vliv a bude to nějaký jiný parametr v kernelu.
Takže musím pátrat dál.
intel_pstate=disable - vyzkouším to, uvidíme co to udělá, zatím jsem zkoušel jen nějaký věci s ACPI
-
jestli jsem to pochopil, tak rikaji, ze i kdyz procesor neskaluje frekvenci uplne jako predtim, tak intel_pstate ma nizsi spotrebu
to proto, ze acpi-cpufreq i kdyz snizil frekvenci na nejnizsi, tak nenecha cpu spat a porad se ptal "jak se ti spi?" a "nemas neco na praci?"
a novy intely procesory pry kdyz spi, tak maji malinkatou spotrebu, temer nezavisle na tom, na jake jsou frekvenci; naopak jim vadi probouzeni
takze intel_pstate=disable asi snizi frekvence, ale mozna stoupne spotreba; jak tu spotrebu meris?
-
Ja mam tiez trojkove jadro. 3.12.13-gentoo. Konfiguroval som ho cez menuconfig a zapol som tam vsetky governory (ondemand, userspace, powersave, conservative aj performance).
Nastavil som si v acpid, aby mi to detegovalo pripojenie na ac/baterku, na ac bezim na performance a na baterke na powersave.
Stale sa mi ale zda, ze to zerie moc. Na powersave su vsetky jadra (core i7 4600 na thinkpade t440s) permanentne na 2.1 Ghz, na performance to vyleti na 3Ghz (co je ok).
Tie dalsie governory (userspace, ondemand) mi vobec nejdu zapnut.
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
Neviem, preco mi ich neponuka, ked som ich v kerneli zapol a skompiloval si to. Chcel by som mat moznost nastavit najnizsiu
moznu spotrebu (800Mhz) nech viem, ci tym nieco usetrim, alebo je ok, ak to bude aj na tych 2Ghz.
Inak sa mi v pohode podari na baterke znizit potrebu pocas powersave aj pod 7 wattov, akurat ked pustim firefox, kde sa este pusti nejaky sprosty x86 adobe flash, hned sa to vyhuli na 14-15 w.
-
Chcel by som mat moznost nastavit najnizsiu moznu spotrebu (800Mhz)...
poradne si precti, co tu je uz napsany
Intel ted rika, ze 800MHz neznamena nejmenis spotrebu
a jestli na 800MHz trvas, pouzij parametr jadra intel_pstate=disable
-
Cize ak som to spravne pochopil, na i7 s jadrom Haswell je proste zanedbatelne, na akej frekvencii bezi, podstatny je pocet wakeup volani?
-
Teorie ale říká (jak tu někdo naznačil), že si vytáhneš ze současnýho jádra konfigurák, v něm zaškrtáš governory, zkompiluješ a hotovo. Takhle jednoduchý to ale v praxi určitě nebude a někde se to zasekne :-D
ja som takto potreboval zmenit jeden parameter uz v sucasnom jadre Debianu, ktory mal tusim 3.2, tak som rovno stiahol 3.13, zmenil ten parameter, zvysok nechal default, skompiloval (na 4-jadre i5, 2.4GHz s SSD a 8GB Ram to trvalo polhodinu na 100% CPU :D ) a zatial vsetko funguje ako ma :) takze zasa take velke problemy pri tom vzniknut nemusia...samozrejme zalezi aj od toho zrejme, ktory parameter sa zmeni.