Linux - Energiatakarekossag - masodik felvonas

Legutobbi blogbejegyzesemben irtam, hogy igyekszek minnel takarekosabbra beallitoani a laptopom(persze csak aksirol).
Kovetkezzen egy kis Undervolting :)
Legujabban belottem a linux-PHC -t: Ez egy patch az acpi_cpufreq kernelmodule-ra.

Ezekutan a /sys/devices/system/cpu/cpu0/cpufreq/phc_controls -file (FID:VID formaban: Frequency Identifer:Voltage Identifer) tartalmazza az adott frekvenciahoz tartozo feszultseg azonositot.
Nalam eredetileg igy nezett ki: 10:43 8:33 6:23
A vegso allapot pedig: 10:23 8:23 6:23

Az eredmeny: Huzamosabb 100% CPU terheles mellett 82-83fokot is elerte a proci, most pedig csak 63-64fok. Ez kb -20fok ami nem keves. Valamint a ventilator sem zug olyan hangosan.

Hozzászólások

no várjunk csak, most undervoltolod, vagy terhelni szeretnéd? talán feélreértem, de én ha terhelni akarom a gépet, rögtön inkább áramot keresek...

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

oppardon. azt hittem, energiatakarékosság ürügyén voltolod under. Az meg nálam ellentétes a terheléssel (ha már terhelem, akkor nálam már majdnem mindegy, mennyit bír...)

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

Azért ésszel él az ember! Minek sütnéd meg szegényt, ha nem muszáj? A proci magasabb hőmérsékleten automatikusan leszabályozza a frekvenciát, azaz minél alacsonyabb fesz, annál alacsonyabb hőmérséklet és annál nagyobb frekvencia! ...a konfliktus innentől kezdve a teljesítmény és a stabilitás között van...mint mindig :)

Az egyik magot ki lehet kapcsolni:

echo 0 > /sys/devices/system/cpu/cpu1/online

Gondolom ez is számít valamennyit, bár még nem néztem meg.

Erre azt olvastam valahol (talán a Powertop környékén), hogy a tesztek szerint jobb, ha Deep Sleep módba megy, mintha kikapcsolnád, mert akkor egyrészt a maradék magra marad minden feladat, ergo gyakrabban kell felkelnie, másrészt a kikapcsolása hardveresen nem választja le a másik magot, és marad rajta feszültség, továbbra is eszi az értékes áramot.

És, hogy lehet Deep Sleep-be rakni?


$ cat /proc/acpi/processor/CPU0/power
active state:            C0
max_cstate:              C8
bus master activity:     00000000
maximum allowed latency: 8000 usec
states:
C1:
type[C1] promotion[--] demotion[--] latency[001] usage[00380688] duration[00000000000000000000]
C2:
type[C2] promotion[--] demotion[--] latency[001] usage[13033373] duration[00000000009059108692]
C3:
type[C3] promotion[--] demotion[--] latency[085] usage[79967626] duration[00000000684441304205]

erről a deep sleep-ről tényleg írhatnál bővebben! A phc-t én már régebb óta használom (de ezt írtam már az előző blog bejegyzésebden is, mondjuk, akkor senkit nem érdeket :) ), jó dolog, és van hozzá gui is, ha kell, meg deamon :D!

amugy nekem ezt írja:

cat /proc/acpi/processor/CPU0/power
active state: C0
max_cstate: C8
bus master activity: 00000000
maximum allowed latency: 3000 usec
states:
C1: type[C1] promotion[--] demotion[--] latency[001] usage[00311304] duration[00000000000000000000]
C2: type[C2] promotion[--] demotion[--] latency[001] usage[14515461] duration[00000000008140297524]
C3: type[C3] promotion[--] demotion[--] latency[057] usage[62903660] duration[00000000123827194847]

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Ez szerint a C3 tulajdonkepp a DeepSleep, a C4 pedig a DeeperSleep.
Arra tovabbra sem sikerult rajonnom, miert C2 a legalacsonyabb uzemmod nalam, mikor a CPU elvileg tudja a C4-et is. Ggondolom, hogy BIOSban kellene bekapcsolni, de nalam a BIOS az joforman disznek van csak, mert szinte semmit sem lehet allitani...
-----
“Firefox, you say? No I don't play Pokémon”

Köszi, de mégis, milyen különbségek vannak, ha vmelyik állapotba rakom a procit, pl c2, vagy c3-ba? Gondolok itt a teljesítménybeli különbségekre, illetve arra, hogy mennyivel fogyaszt így kevesebbet? Egyáltalán érdemes-e vele "foglalkozni"? Amugy, hogy kell a módok között váltani?

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Hopsz ha lesz egy kis idom, majd in is buveszkedek vele.
Mennyit lehet nyerni akkuideben ilyen beallitasokkal?

Sziasztok!

Ubuntuban próbáltam a phc-t, két féle precompiled verzióval és egyet fordítottam magam is, de sehogy nem jön össze.

Tudtok olyan disztróról, aminek a kerneljében ez alapból benne van??? ...jó lenne biztosra menni, hogy nem elvből nem szereti a gépem:
Compal HGL30
intel c2d T5600

Minden segítséget előre is köszi! :)

lsmod |grep acpi_cpufreq mit mond?
ha semmi, akkor modprobe acpi_cpufreq utan dmesgben mi az utolso nehany sor?

Ha kezzel forgatod a patchelt modult, akkor a Module.symvers filet masold be a kernel forras dirbe es utanna forgasd.

-----
“Firefox, you say? No I don't play Pokémon”

Szia!

Köszi a gyors reakciót! :)
modprobe után terminálban azt írja ki, hogy "invalide module format" ...erre nem találtam megoldást. (ekkor adtam fel :) )

dmesg-ről és Module.symvers fájlról nem hallottam még...de reményt ad, hogy most már van nyom, amin elindulhatok :)

Most alszok, holnap talán újra nekiugrok :)

Még1x köszi :)

na, itt a dmesg:
[ 113.097025] ACPI: EC: missing confirmations, switch off interrupt mode.
[ 113.617064] ACPI Exception (evregion-0419): AE_TIME, Returned by Handler for [EmbeddedControl] [20080609]
[ 113.617091] ACPI Error (psparse-0530): Method parse/execution failed [\_SB_.PCI0.LPCB.BAT1._BST] (Node f74185a0), AE_TIME
[ 113.617189] ACPI Exception (battery-0360): AE_TIME, Evaluating _BST [20080609]

Azt hiszem tényleg a Module.symvers hiánya okozza az "Invalid module format" problémát, máshol is mondják, hogy ez megoldhatja ...szóval a következő lépés egy újabb forgatás. (pedig milyen szívesen kihagytam volna :D )

?= linux-source-2.6.26 linux-headers-2.6.24-1-amd64

lehet, hogy debianos tárolókból majd be kéne szerezni ezeket (ezt is inkább kihagynám...már így is kicsit sokmindent raktam fel nem pont ubuntus tárolókból, szóval, ha össze is jön ez a phc téma, akkor is reinstall lesz :) )

szerk:

KÖSZI KÖSZI KÖSZi !!! :D

működik! :)

Akkor most továbblépek a 4-es pontra :)

Finomhangolás hogyan?

Pl most 11-es, 8-as és 6-os szorzóval tud menni a cpu (megjegyzem csodálatos ez a csend, miközben gépelek :) ) ...szeretném beállítani a 7,9,10-es szorzókat is (főleg a 10-est, mert win alatt azt még stabilan bírta min feszszel, hátha itt is )

Nem tudom, PHCTool-t használsz-e, de a Throttling tabot is jó lenne beállítani, mert most teljesen üres.

Biztos le vannak írva ezek már valahol, csak nagyon nem találom.

Üdv,
Zoli

En nem hasznaltam semmi scriptet,se phctoolt,csak siman probalgattam a phc_control fileba atirni az ertekeket,mikozben 2 db burnP6 futott a hatterben.
Betudod masolni a te phc_control fileod?
Holnap majd irok tobbet,mert most mobil telrol vagyok.
-----
“Firefox, you say? No I don't play Pokémon”

Az iskolában azt tanultuk, hogy ugyanakkora teljesítmény kisebb feszültségen nagyobb áramerősséget eredményez. Ha a processzor ugyanannyi teljesítményt (?) vesz fel, akkor legalább ugyanúgy kéne melegednie is, vagy nem? De miért nem melegszik ugyanannyira, vagy miért vesz fel kevesebb teljesítményt (?)? Ha kisebb feszültségen is működik a processzor, miért állítottak be neki gyárilag akkora feszültséget, amekkorát (hiszen 20 °C sokat számít)? Nagy különbségek adódnak a gyártás során, ezért inkább biztosra mennek és egységesen nagyobb feszültséget adnak meg?

:)

Számítási teljesítményre gondoltam (pl MIPS) != U*I = U^2/R ->hőteljesítmény

A processzorok gyártása olyan, hogy beraknak egy vákumkalitkába egy zsákkal és kb 5-10, jobb esetben 20% sikerül...persze technológiától függ. A tranzisztorok nyitófeszültsége kb 0,6 volt. A szórástól ez lehet 0,5-0,7. A beiktatott ellenállásoknak is van szórása, azokon is esik feszültség, ezért ami minimum kell, az kb 0,8 volt.

Azért állították be, mert azon a feszültségen tudják garantálni, hogy működik...de egy linux kernel eltűr olyan 0,1 ppm hibát ...azaz bár instabilabb lesz a rendszer alacsonyabb feszültségnél, ez nem fog kiderülni gyakorlati esetben, bár megfelelő programot, ha 24 órára ráeresztesz, kideríti, hogy minden millió/milliárd fourier-transzformációból egy hibás. Természetesen otthoni felhasználásról beszélek. Egy szervernél ez a kockázat nem megengedhető, de nekem megéri, hogy soha ne pörögjön fel a ventilátor, még max terhelésnél sem :) ...azaz csak megérné, mert ubi alatt még nem sikerült a dolog. De holnap újra próbálkozom :)