powersave je jedním z nejužitečnějších balíčků určených především pro notebooky, kde je velmi důležité kontrolovat stav baterií a proces napájení systému. Řada funkcí je užitečná i pro běžnou pracovní stanici (např. uspání/pohotovost, funkce ACPI a možnost zastavení IDE disků).
Balíček slučuje všechny funkce správy napájení. Podporuje hardware, který využívá technologie ACPI, APM, PowerNow! a např. i technologii SpeedStep. Obsahuje funkce balíčků:
apmd
acpid
ospmd
cpufreqd
cpuspeed
powersave
Z toho důvodu není možné, pokud chcete používat powersave, spouštět zároveň démony obsažené ve výše jmenovaných balíčcích.
Doporučujeme vám používat powersave i v případě, že hardware nepodporuje všechny uvedené technologie. Případné změny hardwaru démon rozpozná automaticky.
![]() | Informace o powersave |
|---|---|
Mimo této kapitoly najdete velmi užitečné informace o powersave také v souboru
| |
Nastavení powersave je rozděleno do několika souborů:
/etc/sysconfig/powersave/common
Soubor ze základním nastavením démona powersave. V tomto souboru lze například významně zkrátit zápis démona do záznamů (do souboru /var/log/messages) nastavením nižší hodnoty proměnné DEBUG.
/etc/sysconfig/powersave/events
Soubor potřebný pro zpracování systémových událostí. Každé události lze přiřadit externí akci nebo akce nebo akce vykonávané přímo démonem. V případě externích akcí se démon snaží spustit některý ze skriptů uložený v adresáři /usr/lib/powersave/scripts/.
Předdefinované interní akce jsou:
ignore
throttle
dethrottle
suspend_to_disk
suspend_to_ram
standby
do_suspend_to_disk
do_suspend_to_ram
do_standby
throttle přiškrcuje procesor na hodnotu zadanou v proměnné
MAX_THROTTLING.
Tato proměnná je závislá na aktuálním schématu.
dethrottle nastavuje procesor na plný výkon. suspend_to_disk,
suspend_to_ram a standby
zachycují systémové události režimu uspání. Tyto tři akce jsou odpovědné především za uspávání, ale vždy by měly být asociovány se zvláštními systémovými událostmi.
Adresář
/usr/lib/powersave/scripts
obsahuje skripty pro následující akce:
Upozornění o události na textové konzoli, v grafickém prostředí nebo zvukovým signálem.
Aktivace spořiče obrazovky.
Užitečná akce v případě, že se po probuzení nebo standby režimu nechová korektně obrazovka.
Uložení všech nastavení a logy z GNOME, KDE nebo jiného grafického prostředí a provede odhlášení.
Uložení nastavení GNOME nebo KDE a vypnutí systému.
V případě nastavení proměnné
EVENT_GLOBAL_SUSPEND2DISK="prepare_suspend_to_disk
do_suspend_to_disk", provedou se při uspání na disk dva skripty nebo akce v zadaném pořadí. Démon powersaved spustí externí skript /usr/lib/powersave/scripts/prepare_suspend_to_disk. Po úspěšném vykonání tohoto skriptu provedete démon interní akci do_suspend_to_disk a po té, co skript odstraní kritické moduly, počítač uspí.
Akci tlačítka
uspání lze pozměnit v proměnné
EVENT_BUTTON_SLEEP="notify suspend_to_disk".
V takovém případě budou uživatelé o uspání informování externím skriptem notify. Následně je generována událost EVENT_GLOBAL_SUSPEND2DISK vedoucí k akcím popsaným výše a bezpečnému uspání systému. Skript notify lze upravit pomocí proměnné NOTIFY_METHOD v souboru /etc/sysconfig/powersave/common.
/etc/sysconfig/powersave/cpufreqSoubor obsahuje proměnné pro nastavení optimalizace dynamického nastavení frekvence procesoru.
/etc/sysconfig/powersave/batteryOmezení baterie a další pro specifická nastavení baterie.
/etc/sysconfig/powersave/sleepV tomto souboru se aktivuje uspávání, nastavují kritické moduly, které je nutné pře uspáním odstranit ze systému, a určují služby, jež je nutné před uspáním nebo před režimem standby zastavit. Po probuzení počítače jsou zadané moduly opět zavedeny do systému a služby spuštěny. Proces uspání lze z důvodů bezpečného uložení souborů odložit. Výchozí nastavení se ve většině případů týká USB a PCMCIA modulů. Selhání uspání nebo režimu standby je obvykle zapřičiněno některým z modulů. Více informací o zjišťování příčin selhání najdete v části 33.5.3 – „Možné problémy“.
/etc/sysconfig/powersave/thermal
Aktivace chlazení a kontroly teploty. Podrobnosti o tomto tématu najdete v souboru
/usr/share/doc/packages/powersave/README.thermal.
/etc/sysconfig/powersave/scheme_*Různá schémata správy napájení závislá na situaci nasazení počítače. Mimo již přednastavených schémat se zde ukládají také vlastní schémata.
U APM a ACPI můžete provádět nastavení uspávání, vlastní hodnoty pro sledování stavu baterií a samozřejmě různé režimy práce lišící se např. spotřebou energie nebo hlučností.
Protože režim uspání na některých počítačích stále nefunguje, je ve výchozím nastavení vypnutý. Dostupné jsou tři typy ACPI uspání a dva typy APM uspání:
Uložení obsahu paměti na disk. Počítač se zcela vypne a nespotřebovává elektrickou energii.
Uložení stavu všech zařízení do operační paměti. Počítač potřebuje elektrickou energii pouze pro operační paměť.
Vypnutí některých zařízení (funkce závislá na výrobci).
Aby uspání, standby a probuzení proběhly bez problémů, ujistěte se, že máte v souboru /etc/sysconfig/powersave/events následující nastavení
(výchozí nastavení systému SUSE Linux):
EVENT_GLOBAL_SUSPEND2DISK=
"prepare_suspend_to_disk do_suspend_to_disk"
EVENT_GLOBAL_SUSPEND2RAM=
"prepare_suspend_to_ram do_suspend_to_ram"
EVENT_GLOBAL_STANDBY=
"prepare_standby 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"
V souboru /etc/powersave.conf můžete nastavit tři hodnoty týkající se kapacity baterií. Jde o stavy v procentech, při jejichž dosažení buď dojde k hlášení o stavu baterií nebo se spustí nějaká akce.
BATTERY_WARNING=20 BATTERY_LOW=10 BATTERY_CRITICAL=5
Jaké akce se spustí, lze nastavit v souboru
/etc/powersave.conf. Typy akcí nastavíte v souboru
/etc/sysconfig/powersave/common:
EVENT_BATTERY_NORMAL="ignore" EVENT_BATTERY_WARNING="notify" EVENT_BATTERY_LOW="notify" EVENT_BATTERY_CRITICAL="suspend"
Další možnosti nastavení najdete v komentářích konfiguračního souboru.
Svůj systém můžete nastavit tak, aby se při různých způsobech napájení, choval jiným způsobem. Tak můžete dočasně z důvodů šetření energie snížit výkon svého systému, a po připojení do sítě ho pak zase zvýšit. Konkrétními příklady změn nastavení jsou frekvence procesoru, aktivita disku, spořící funkce a další vlastnosti.
V souboru /etc/powersave.conf můžete prostřednictvím
powersave_proxy nastavit různé spořící kroky. V souboru
/etc/sysconfig/powersave/common k nim můžete nastavit různé scénáře (nazývané nebo ):
AC_SCHEME="performance" BATTERY_SCHEME="powersave"
jsou uložena do jednotlivých souborů v adresáři /etc/sysconfig/powersave.
Jméno se vždy skládá z částí: scheme_FJmenoSchemata. V našem případě máme dvě schémata scheme_performance a scheme_powersave. předkonfigurována jsou schémata
performance, powersave a acoustic. Již existující schémata můžete kdykoliv měnit pomocí programu YaST. Pomocí programu YaST můžete také schémata vytvářet a mazat.
Pokud používáte ACPI, můžete si nastavit (,
a , ). Příslušné akce pro powersave_proxy lze nastavit v souboru /etc/powersave.conf. Jednotlivé akce jsou nastavené v souboru /etc/sysconfig/powersave/common. Více informace o nastavení najdete v komentářích těchto konfiguračních souborů.
Po stisknutí klávesy se ukončí nastavený správce oken (KDE, GNOME, fvwm...).
Po stisknutí klávesy dojde k uspání notebooku.
Při otevření notebooku nedojde k žádné akci.
Při zavření notebooku se aktivuje spořič obrazovky.
Nastavení procesoru můžete provést prostřednictvím proměnných CPU_LOW_LIMIT a
CPU_IDLE_TIMEOUT. V případě, že je procesor zaneprázdněn i po vypršení timeoutu, spustí se událost nastavená v
EVENT_PROCESSOR_IDLE. V případě dalšího zaneprázdnění procesoru se vykoná EVENT_PROCESSOR_BUSY.
V následující části najdete nejčastější dotazy a problémy související s používáním powersave.
Nejdřív se podívejte do souboru /var/log/messages. Do tohoto souboru se zapisuje řada chybových hlášení systému. Pokud v tomto souboru nic nenajdete, nastavte v souboru /etc/sysconfig/powersave/common proměnnou DEBUG na hodnotu 7 nebo 15. Pak restartujte démona. Všechna chybová hlášení powersave se pak budou zapisovat do souboru /var/log/messages.
Zda se jedná o problémy související s ACPI zjistíte pomocí příkazu dmesg zadáním:
dmesg|grep -i acpi
Jestliže najdete nějaká chybová hlášení, aktualizujte BIOS. Novou verzi BIOSu najdete na stránkách výrobce své základní desky.
V případě, že chyba přetrvává i po updatu BIOSu, vyhledejte na stránkách pro svůj systém také aktuální tabulku DSDT a nahraďte jí tabulku v BIOSu:
Ze stránky http://acpi.sourceforge.net/dsdt/tables si stáhněte DSDT tabulku. Ujistěte se, že jde o správný a překompilovaný soubor (obsahuje příponu .aml (ACPI Machine Language)). Pokud jste pro svůj systém našli takový soubor, pokračujte krokem 3.
Pokud jste našli tabulku s příponou .asl (ACPI Source Language), musíte ji nejdřív pomocí
iasl z balíčku pmtools překompilovat. Zadejte příkaz:
iasl -sa JmenoSouboru.asl
Nejnovější verzi programu iasl (Intel ACPI Compiler) najdete na stránce http://developer.intel.com/technology/iapc/acpi/.
Překopírujte soubor DSDT.aml do systému (v našem případě /etc/DSDT.aml).
Editujte soubor /etc/sysconfig/kernel a zadejte zde cestu k DSDT souboru. Spusťte příkaz:
mkinitrd
Tímto příkazem zajistíte, že se tabulka zavede ještě před startem jádra.
![]() | Důležité |
|---|---|
Náhrada DSDT tabulky vyžaduje pokročilejší znalosti správy počítače. Při nesprávném postupu může dojít k nefunkčnosti systému. | |
Překontrolujte v dokumentaci, zda je u vašeho procesoru tato funkce podporována a zda jsou zavedeny všechny potřebné moduly a nastavené správné parametry těchto modulů. Všechny potřebné informace najdete v souboru /usr/src/linux/Documentation/cpu-freq/*. Pokud je potřeba nastavit určité parametry, proveďte změny v souboru /etc/sysconfig/powersave/common
pomocí proměnných CPUFREQD_MODULE a
CPUFREQD_MODULE_OPTS.
V současné době je známo několik problémů s uspáváním a probouzením na systémech používajících ACPI:
Systémy s více jak 1 GB RAM nemají v současné době podporu uspání.
Víceprocesorové systémy nebo systémy s procesorem P4 nemají v současné době podporu uspání.
Problém může spočívat také v chybné implementaci DSDT. V takovém případě nahraďte novou DSDT podle postupu uvedeného v Aktivovala jsem ACPI, ale klávesy ani stav baterie nereaguje podle nastavení?
Pro APM i ACPI systémy:
Při pokusu o zavedené problémového modulu zamrzne proxy a nedojde k pokynu k uspání. To samé může nastat v okamžiku, kdy službu nebo modul nejde zastavit. V obou případech se můžete pokusit najít problémový modul pomocí úprav v souboru /etc/sysconfig/powersave/common:
UNLOAD_MODULES_BEFORE_SUSPEND=" " UNLOAD_MODULES_BEFORE_STANDBY=" " SUSPEN_RESTART_SERVICES=" " STANDBY_RESTART_SERVICES=" "
Při používání ACPI systém získává informace o stavu baterie od BIOSu. Výhoda tohoto řešení spočívá v tom, že stav baterií není nutné načítat nepřetržitě a tak je snížena zátěž systému a tím i jeho spotřeba. Může se však stát, že k přenosu informací mezi BIOSem a systémem nedochází. V takovém případě nastavte v souboru /etc/powersave.conf proměnnou
FORCE_BATTERY_POLLING na hodnotu
yes.