A powersave
csomag felelős az összes eddig említett energiatakarékossági funkcióért. Mivel az alacsonyabb energiafogyasztás egyre komolyabb igény általában is, egyes funkciói, mint a felfüggesztés, a készenlét, vagy a CPU-frekvenciaszabályozás fontosak lehetnek munkaállomásokon és kiszolgálókon is.
A csomag a számítógép energiagazdálkodásával kapcsolatos minden funkciót ellát. Támogatja az ACPI, APM, PowerNow! és SpeedStep technológiákat, valamint a merevlemezeket. Az apmd
, acpid
, ospmd
és cpufreqd
(most cpuspeed
) csomagok funkciói egyesítve lettek a powersave
csomagban. Az e csomagok démonjait (kivéve az ACPI-események multiplexereként működő acpid-t) nem szabad a powersave démonnal együtt futtatni.
Még ha a rendszer nem is tartalmazza a fent felsorolt összes hardverelemet, akkor is használja a powersave démont az energiagazdálkodási funkciók szabályozására. Mivel az ACPI és az APM kölcsönösen kizárják egymást, a számítógépen egyszerre csak az egyik használható. A démon automatikusan felismeri a hardverkonfiguráció változásait.
A powersave beállítása több fájlra szét van osztva. Az itt felsorolt beállítási lehetőségek mindegyikéhez további dokumentáció tartozik a funkcionalitásával kapcsolatban.
/etc/sysconfig/powersave/common
Ez a fájl tartalmazza a powersave démon általános beállításait. Például a hibakeresési üzenetek mennyisége (a /var/log/messages
rendszernaplóban) a DEBUG
változó értékének módosításával növelhető.
/etc/sysconfig/powersave/events
A powersave démon ezt a fájlt használja a rendszeresemények feldolgozásához. Az esemény tartozhat külső műveletekhez, vagy lehetnek maga a démon által elvégzett műveletek. Külső műveletek esetén a démon megkísérel futtatni egy végrehajtható fájlt (jellemzően egy bash-parancsfájlt) az /usr/lib/powersave/scripts/
könyvtárból. Az előre definiált belső műveletek:
ignore
throttle
dethrottle
suspend_to_disk
suspend_to_ram
standby
do_suspend_to_disk
do_suspend_to_ram
do_standby
notify
screen_saver
reread_cpu_capabilities
A throttle
lelassítja a processzort a MAX_THROTTLING
változóban megadott értékkel. Ez az érték az aktuális séma függvénye. A dethrottle
parancs visszaállítja a processzort maximális teljesítményre. A suspend_to_disk
, suspend_to_ram
és standby
módok a különféle alvási módokat kapcsolják be. Ez a három művelet felelős az alvó állapot mód bekapcsolásáért, de mindig meghatározott rendszereseményekhez kell őket rendelni.
Az /usr/lib/powersave/scripts
könyvtár tartalmazza az események feldolgozására szolgáló parancsfájlokat:
Akkor hasznos, ha a képernyő el van csúszva egy felfüggesztés vagy egy készenlét után.
Elmenti a beállításokat és kijelentkezik a GNOME, KDE vagy egyéb ablakkezelőből.
Elmenti a GNOME- vagy KDE-beállításokat és leállítja a rendszert.
Végrehajtja az /etc/sysconfig/powersave/disk
fájlban megadott lemezbeállításokat.
Ha például az EVENT_GLOBAL_SUSPEND2DISK="prepare_suspend_to_disk do_suspend_to_disk"
változó be van állítva, akkor két parancsfájl vagy művelet kerül feldolgozásra a megadott sorrendben azonnal, ahogy a felhasználó kiadja a powersaved számára a suspend to disk
alvó üzemmód parancsot. A démon lefuttatja a külső /usr/lib/powersave/scripts/prepare_suspend_to_disk
parancsfájlt. A parancsfájl sikeres feldolgozása után a démon lefuttatja a do_suspend_to_disk
belső műveletet és alvó üzemmódba állítja a számítógépet, miután a parancsfájl leállította a kritikus modulokat és szolgáltatásokat.
A sleep (alvás, készenlét) gomb művelete módosítható (a részhez hasonlóan), például így: EVENT_BUTTON_SLEEP="notify suspend_to_disk"
. Ebben az esetben a felhasználót egy felugró ablak vagy egy X üzenet a konzolon értesíti a felfüggesztésről. Ezután létrejön a EVENT_GLOBAL_SUSPEND2DISK
esemény, amelynek hatására végrehajtásra kerülnek a fent említett műveletek és a rendszer biztonságos felfüggesztése. A notify
belső művelet az /etc/sysconfig/powersave/common
fájlban található NOTIFY_METHOD
változóval állítható be.
/etc/sysconfig/powersave/cpufreq
Ez a fájl tartalmazza a processzorok dinamikus CPU-frekvenciájának beállítási lehetőségeit, illetve hogy a felhasználóterületi, vagy a kernelimplementációt használja a rendszer.
/etc/sysconfig/powersave/battery
Akkumulátorkorlátok és más, az akkumulátorral kapcsolatos beállítások.
/etc/sysconfig/powersave/sleep
Ebben a fájlban aktiválhatók az alvó üzemmódok és határozható meg, hogy mely kritikus folyamatokat kell kikapcsolni és mely szolgáltatásokat leállítani egy felfüggesztési vagy készenléti esemény előtt. A rendszer visszaállításakor ezek a modulok visszatöltődnek és a szolgáltatások újraindulnak. Az alvó üzemmód indításának késleltetését is be lehet állítani (például hogy legyen idő elmenteni a fájlokat). Az alapértelmezett beállítások elsősorban az USB- és PCMCIA-modulokat érintik. A felfüggesztés vagy készenlét hibáját általában meghatározott modulok okozzák. A hibák azonosításáról további információ: 28.5.4. szakasz - Hibaelhárítás.
/etc/sysconfig/powersave/thermal
A hűtés és hőmérsékletszabályozás konfigurációja. A témával kapcsolatos részletek az /usr/share/doc/packages/powersave/README.thermal
fájlban olvashatók.
/etc/sysconfig/powersave/disk
Ez a fájl tartalmazza a merevlemezek energiatakarékossági beállításait.
/etc/sysconfig/powersave/scheme_*
Ezek a különféle sémák, amelyek az energiafogyasztást a különböző alkalmazási környezetekhez igazítják. Vannak előre beállított sémák, amelyek módosítás nélkül használhatók. Ide menthetők el az egyedi sémák is.
Három alapvető ACPI és két APM alvó üzemmód létezik:
A teljes memória tartalmának kiírása merevlemezre. A számítógép teljesen kikapcsol és egyáltalán nem fogyaszt áramot. Ez az alvó mód alapértelmezésben engedélyezve van és jellemzően minden rendszeren működik.
Az összes eszköz állapotának elmentése a fő memóriába. Áramot csak a fő memória fogyaszt. A SUSE Linux Enterprise nem támogatja általánosan ezt az alvó módot, bár jónéhány készülék esetében használható.
Ez az alvó mód alapértelmezésben engedélyezve van, de csak akkor kerül végrehajtásra, ha az aktuális gép fel van sorolva a módot támogató rendszerek adatbázisában. Az adatbázis az /usr/sbin/s2ram
bináris fájlban van (a suspend
csomag része).
Az alapértelmezett paraméterek módosításához (például a memóriába felfüggesztés
alvó mód teljes kikapcsolásához, vagy az adatbázisban nem szereplő gépek esetén is kikényszerítéséhez) a rendelkezésre álló paraméterekről további információt az /etc/sysconfig/powersave/sleep
konfigurációs fájl tartalmaz.
Az s2ram
bináris fájlról az /usr/share/doc/packages/suspend
könyvtárban található README fájlban olvashat többet.
Egyes eszközök kikapcsolása (gyártófüggő).
Győződjön meg róla, hogy a következő alapértelmezett paraméterek be vannak állítva az /etc/sysconfig/powersave/events
fájlban a felfüggesztés, készenlét és visszaállás helyes feldolgozásához (az alapértelmezett értékek a SUSE Linux Enterprise telepítésének megfelelők):
EVENT_GLOBAL_SUSPEND2DISK= "prepare_suspend_to_disk screen_saver do_suspend_to_disk" EVENT_GLOBAL_SUSPEND2RAM= "prepare_suspend_to_ram screen_saver do_suspend_to_ram" EVENT_GLOBAL_STANDBY= "prepare_standby screen_saver do_standby" EVENT_GLOBAL_RESUME_SUSPEND2DISK= "restore_after_suspend_to_disk" EVENT_GLOBAL_RESUME_SUSPEND2RAM= "restore_after_suspend_to_ram" EVENT_GLOBAL_RESUME_STANDBY= "restore_after_standby"
Az /etc/sysconfig/powersave/battery
fájlban három akkumulátortöltöttségi szint adható meg (százalékban), amelyek elérése bizonyos rendszerriasztásokat vagy műveleteket aktiválhat.
BATTERY_WARNING=12 BATTERY_LOW=7 BATTERY_CRITICAL=2
Azt, hogy milyen műveletek vagy parancsfájlok kerüljenek végrehajtásra, ha a töltöttségi szint a megadott korlátok alá esik, az /etc/sysconfig/powersave/events
fájlban adható meg. A gombokhoz rendelt normál műveletek a 28.5.1. szakasz - A powersave csomag beállításai részben leírtaknak megfelelően módosítható.
EVENT_BATTERY_NORMAL="ignore" EVENT_BATTERY_WARNING="notify" EVENT_BATTERY_LOW="notify" EVENT_BATTERY_CRITICAL="wm_shutdown"
A rendszer viselkedése a használt tápellátás típusához igazítható. A rendszer fogyasztását célszerű csökkenteni, ha nem hálózati feszültségről üzemel, hanem akkumulátorról. Hasonlóan, a hálózatra visszacsatlakozva érdemes automatikusan megnövelni a teljesítményt. Módosítható a CPU órajelfrekvenciája, a merevlemezek energiatakarékossági funkciója, valamint egy sor egyéb paraméter.
Azt, hogy milyen műveleteket hajtson végre a gép, amikor akkumulátoros módba kapcsol, illetve újra a hálózatra csatlakozik, az /etc/sysconfig/powersave/events
fájl írja le. Az /etc/sysconfig/powersave/common
fájlban válassza ki a használni kívánt sémákat:
AC_SCHEME="performance" BATTERY_SCHEME="powersave"
A sémák az /etc/sysconfig/powersave
könyvtárban található fájlokban tárolódnak. A fájlnevek formátuma: scheme_sémanév
. A példában két sémát említettünk: scheme_performance
és scheme_powersave
. A performance
, powersave
, presentation
és acoustic
sémák előre el vannak készítve. Új sémák is létrehozhatók, a meglévők pedig módosíthatók és törölhetők, illetve a YaST energiagazdálkodási moduljával a különféle energiaellátási állapotokhoz rendelhetők (lásd: 28.6. szakasz - A YaST Energiagazdálkodás modulja).
ACPI használata esetén szabályozható, hogy a rendszer hogyan reagáljon az ACPI gombokra (be- és kikapcsolás, készenlét, fedél nyitva és fedél zárva). A műveletek végrehajtását az /etc/sysconfig/powersave/events
fájlban lehet beállítani. Az egyes paraméterek magyarázatával kapcsolatban olvassa el ezt a konfigurációs fájlt.
A be-/kikapcsoló gomb megnyomásakor a rendszer a megfelelő ablakkezelő (KDE, GNOME, fvwm stb.) leállításával válaszol.
A készenlét gomb megnyomására a rendszer lemezre felfüggesztést hajt végre.
Semmi sem történik, ha a fedelet felnyitják.
A fedél lezárására a képernyővédő aktiválódik.
Ez az esemény akkor történik, ha a démon ismeretlen eseményt észlel. Egyes gépeken az ACPI-billentyűk is ismeretlen eseményt eredményeznek.
A CPU teljesítménye tovább korlátozható, ha a CPU terhelése nem halad meg egy adott ideig egy adott korlátot. A terhelési korlát a PROCESSOR_IDLE_LIMIT
, az időkorlát pedig a CPU_IDLE_TIMEOUT
változóban adható meg. Ha a CPU terhelése az időkorlátban meghatározottnál hosszabb ideig a korlát alatt marad, akkor aktiválódik az EVENT_PROCESSOR_IDLE
változóban meghatározott esemény. Ha a CPU újra foglalt, akkor az EVENT_PROCESSOR_BUSY
esemény hajtódik végre.
Minden hibaüzenet és riasztás a /var/log/messages
fájlban naplózódik. Ha nem találja a keresett információt, állítsa be a powersave üzenetek részletezését az /etc/sysconfig/powersave/common
fájl DEBUG
változójának módosításával. Növelje meg a változó értékét 7
-re, vagy akár 15
-re, majd indítsa újra a démont. A /var/log/messages
naplófájlban megjelenő részletesebb üzenetek segítenek a hiba megkeresésében. Az alábbi fejezetben áttekintjük a powersave használatával kapcsolatos leggyakoribb problémákat.
Ha problémákat észlel az ACPI-vel kapcsolatban, akkor a dmesg|grep -i acpi
paranccsal keresheti ki a dmesg kimenetéből az ACPI-specifikus üzeneteket. Lehet, hogy egy BIOS-frissítés megoldja a problémát. Látogassa meg a gép gyártójának a webhelyét, keresse meg a legfrissebb BIOS-verziót és telepítse. Érdeklődjön a gyártónál, hogy az megfelel-e a legfrissebb ACPI-előírásoknak. Ha a hiba a BIOS-frissítés után is fennáll, folytassa az alábbiak szerint a BIOS helytelen DSDT-táblájának egy friss DSDT-re cseréléséhez:
Töltse le a rendszerhez tartozó DSDT-t a http://acpi.sourceforge.net/dsdt/index.php címről. A fájl ne legyen tömörítve és legyen már lefordítva. Erre az .aml
(ACPI machine language, ACPI gépi nyelv) fájlkiterjesztés utal. Amennyiben ez a helyzet, folytassa a 3. lépéssel.
Ha a letöltött tábla kiterjesztése .asl
(ACPI source language, ACPI forrásnyelv), akkor előbb le kell fordítani az iasl programmal (pmtools
csomag). Ehhez be kell írnia, hogy iasl -sa file.asl
. Az iasl (Intel ACPI fordító) legfrissebb változata a http://developer.intel.com/technology/iapc/acpi/downloads.htm címen érhető el.
Másolja át a DSDT.aml
fájlt tetszés szerinti (célszerűen például az /etc/DSDT.aml
helyre. Módosítsa az /etc/sysconfig/kernel
fájlt és írja át megfelelően a DSDT-fájl elérési útját. Indítsa el az mkinitrd programot (mkinitrd
csomag). Ha eltávolítja a kernelt és az mkinitrd paranccsal létrehoz egy initrd
fájlt, akkor a módosított DSDT lesz alkalmazva és betöltve a rendszer indulásakor.
Ellenőrizze a kernelforrásban (kernel-source
) hogy a processzor támogatott-e. Lehet, hogy egy speciális kernelmodul vagy modulparaméter használatára van szükség a CPU-órajelszabályozás bekapcsolásához. Ez az információ az /usr/src/linux/Documentation/cpu-freq/*
fájlokban található meg. Ha egy speciális modulra vagy modulparaméterre van szükség, az az /etc/sysconfig/powersave/cpufreq
fájlban állítható be, a CPUFREQD_MODULE
és CPUFREQD_MODULE_OPTS
változók segítségével.
ACPI-rendszereken lehetnek problémák a felfüggesztéssel és a készenléttel hibás DSDT-implementáció (BIOS) miatt. Ebben az esetben frissítse a BIOS-t.
ACPI- és APM-rendszereken: Amikor a rendszer megpróbálja leállítani a hibás modulokat, a rendszer megakad, vagy a felfüggesztési esemény nem kerül aktiválásra. Ugyanez történhet, ha nem állítja le a sikeres felfüggesztést megakadályozó modulokat vagy szolgáltatásokat. Mindkét esetben meg kell állapítani, hogy melyik hibás modul akadályozta meg az alvó üzemmód bekapcsolását. A powersave démon által a /var/log/suspend2ram.log
és /var/log/suspend2disk.log
helyen készített naplófájlok nagyon hasznosak e tekintetben. Ha a számítógép nem lép be az alvó üzemmódba, akkor a hiba a legutolsó leállított modullal kapcsolatos. Az /etc/sysconfig/powersave/sleep
fájl alábbi beállításainak módosításával állítsa le a problémát okozó modulokat még a felfüggesztés vagy készenlét előtt.
UNLOAD_MODULES_BEFORE_SUSPEND2DISK="" UNLOAD_MODULES_BEFORE_SUSPEND2RAM="" UNLOAD_MODULES_BEFORE_STANDBY="" SUSPEND2DISK_RESTART_SERVICES="" SUSPEND2RAM_RESTART_SERVICES="" STANDBY_RESTART_SERVICES=""
Ha a felfüggesztést vagy készenlétet változó hálózati környezetben alkalmazza, felcsatolt távoli fájlrendszerekkel, mint például a Samba vagy az NIS, használja az automounter programot a felcsatolásukhoz és vegye fel a megfelelő szolgáltatásokat, például az smbfs
vagy nfs
szolgáltatást a fenti változóba. Ha egy alkalmazás a felfüggesztés vagy készenlét előtt hozzáfér a távolról felcsatolt fájlrendszerhez, akkor a szolgáltatás nem állítható le, illetve a fájlrendszer nem csatolható le helyesen. A rendszer visszaállítása után lehet, hogy a fájlrendszer sérült, és újra fel kell csatolni.
/usr/share/doc/packages/powersave
– a helyi powersave démon dokumentációja
http://powersave.sourceforge.net – a powersave démon legfrissebb dokumentációja
http://www.opensuse.org/Projects_Powersave – a projekt oldala az openSUSE wikiben