TLP - ustawienia oszczędzania energii dla Ubuntu

Z ThinkPad-Wiki

Przejdź do: nawigacja, szukaj

Spis treści

Czym jest TLP?

Z każdym wydaniem Ubuntu wprowadzane są kolejne usprawnienia w zakresie zużycia energii w laptopach, dzięki czemu już przy prostej standardowej instalacji można osiągnąć całkiem dobre wyniki zużycia energii.

Pozostałe możliwości oszczędzania energii można łatwo znaleźć w internecie za pomocą wyszukiwarki. Wybór i zastosowanie ustawień odpowiednich dla własnego sprzętu i wersji Ubuntu spośród bogactwa wpisów na wiki, blogach i forach wymaga jednak od użytkownika często zaawansowanej wiedzy o Linuksie i Ubuntu.

Tu z pomocą ma przyjść TLP, ucząc Ubuntu niuansów oszczędzania energii, bez konieczności posiadania przez użytkownika szczegółowej wiedzy.

TLP nie zastępuje istniejącego zarządzania energią w Ubuntu, lecz je uzupełnia. W tym celu TLP jest wywoływany przez zarządzanie energią Ubuntu przy starcie systemu i przy każdej zmianie źródła zasilania, a następnie dokonuje swoich ustawień.

TLP nadaje się do wszystkich laptopów, jednak ustawianie progów ładowania akumulatora jest dostępne tylko dla ThinkPadów IBM/Lenovo.

Odpowiedzi na dalsze pytania dotyczące TLP znajdziesz w TLP FAQ.

Funkcje

Ustawienia zależne od źródła zasilania

Poniższe ustawienia, obejmujące również istotne zalecenia narzędzia Powertop, są wprowadzane automatycznie w zależności od aktywnego źródła zasilania (akumulator/zasilacz):

  • Tryb laptopa jądra (Kernel Laptop Mode) i limity czasu zapisu buforów systemu plików z powrotem na dysk twardy
  • Poziom Advanced Power Management dla każdego dysku twardego
  • Limit czasu spindown dla każdego dysku twardego
  • Planista I/O dla każdego dysku twardego
  • SATA Aggressive Link Power Management (ALPM)
  • PCI Express Active State Power Management (PCIe ASPM); od Ubuntu 10.10 lub jądra 2.6.35
  • Częstotliwość taktowania Radeon; od Ubuntu 10.10 lub jądra 2.6.35 (nie fglrx)
  • Tryb oszczędzania energii WLAN (WiFi) dla kart ze sterownikiem iwlagn (Intel 5100, 5300, ...); od Ubuntu 10.04 lub jądra 2.6.32
  • Wake on LAN (tylko wyłączanie)
  • Tryb oszczędzania energii audio dla dźwięku Intel HDA i AC97
  • Runtime Power Management dla urządzeń na magistralach PCI/SPI/I2C; od Ubuntu 10.10 lub jądra 2.6.35.
  • USB Auto Suspend z możliwością czarnej listy urządzeń; urządzenia wejściowe są automatycznie pomijane
  • Ustawienia PHC dla undervoltingu (wymaga jądra z łatką PHC)
  • Progi ładowania akumulatora **ThinkPad
  • Wyłączanie napędu optycznego we wnęce wymiennej lub UltraBay (przy przejściu na zasilanie bateryjne)

Uwaga **ThinkPad : ustawienia oznaczone w ten sposób wymagają tp-smapi i dlatego działają tylko w ThinkPadach, nie działają jednak w seriach SL, L i Edge ani w X100e.

Ustawienia przy starcie systemu

  • Zintegrowane Bluetooth, WLAN i WWAN (UMTS) można selektywnie wyłączać przy starcie systemu lub przed jego zamknięciem
  • Stan włączenia/wyłączenia zintegrowanego WWAN jest automatycznie przywracany po suspend i hibernacji

Zakres działania

Opcje konfiguracji, których TLP celowo nie uwzględnia, opisano w TLP FAQ.

Instalacja

Wymagania

  • Własne ustawienia lub skrypty oszczędzania energii, np. w /etc/rc.local, są dezaktywowane, w przeciwnym razie należy spodziewać się trudnych do przewidzenia rezultatów.
  • Pakiet laptop-mode-tools nie jest zainstalowany.

Ubuntu 10.04, 10.10 i 11.04

Do źródeł pakietów Ubuntu należy dodać TLP-PPA poleceniem

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update

Instalacja pakietów

  • tlp (PPA)

Wskazówka (tylko Ubuntu 10.04): pakiet Ubuntu pm-utils-powersave-policy jest automatycznie odinstalowywany, ponieważ może zakłócać działanie TLP.

  • tp-smapi-dkms (universe) - opcjonalnie **ThinkPad, tp-smapi umożliwia ustawianie progów ładowania akumulatora oraz rozszerzone wskazania stanu.
  • smartmontools (main) - opcjonalnie, umożliwia wyświetlanie danych SMART dysku/dysków przez tlp-stat.
  • ethtool (main) - opcjonalny, umożliwia wyłączenie Wake On LAN.
  • powertop (main) - opcjonalnie, do pomiaru zużycia energii

Pakiety instaluje się za pomocą menedżera pakietów (Centrum oprogramowania Ubuntu, Synaptic, ...) lub w terminalu:

sudo apt-get install --no-install-recommends tlp tp-smapi-dkms smartmontools ethtool powertop

Debian 6.0

Poniższe kroki należy - jak zwykle w Debianie - wykonywać w powłoce roota:

  • Jako źródło pakietów używane jest TLP-PPA dla Ubuntu 10.04. W tym celu należy dodać następującą linię w /etc/apt/sources.list
deb http://ppa.launchpad.net/linrunner/tlp/ubuntu lucid main
  • Dodanie klucza publicznego TLP-PPA
apt-key adv --keyserver gpg-keyserver.de --recv-keys 02D65EFF
  • Aktualizacja źródeł
apt-get update

Instalacja pakietów

  • tlp (PPA)
  • tp-smapi-dkms (main) - opcjonalny **ThinkPad, umożliwia ustawianie progów ładowania akumulatora i rozszerzone wyświetlanie stanu.
  • smartmontools (main) - opcjonalnie, umożliwia wyświetlanie danych SMART dysku/dysków przez tlp-stat.
  • ethtool (main) - opcjonalny, umożliwia wyłączenie Wake On LAN.
  • powertop (main) - opcjonalnie, do pomiaru zużycia energii

Pakiety instaluje się za pomocą menedżera pakietów lub w terminalu:

apt-get install --no-install-recommends tlp tp-smapi-dkms smartmontools ethtool powertop

Arch Linux

TLP dla Arch Linux jest dostępny w AUR. Instalacja jest opisana w Arch Wiki.

openSUSE 11.3, 11.4

Aby zainstalować TLP w openSUSE, należy wykonać następujące kroki w powłoce roota:

  • Dodanie źródeł pakietów w openSUSE 11.3
zypper ar http://download.opensuse.org/repositories/openSUSE:/11.3:/Contrib/standard/openSUSE:11.3:Contrib.repo (falls Contrib Repo noch nicht aktiv)
zypper ar http://download.opensuse.org/repositories/home:/cdersch:/TLP/openSUSE_11.3/home:cdersch:TLP.repo
  • Dodanie źródeł pakietów w openSUSE 11.4
zypper ar http://download.opensuse.org/repositories/openSUSE:/11.4:/Contrib/standard/openSUSE:11.4:Contrib.repo (falls Contrib Repo noch nicht aktiv)
zypper ar http://download.opensuse.org/repositories/home:/cdersch:/TLP/openSUSE_11.4/home:cdersch:TLP.repo
  • Aktualizacja źródeł pakietów
zypper ref

Instalacja pakietów

  • tlp
  • tp_smapi-kmp-$kernelname - opcjonalny, wymagany np. do ustawiania progów ładowania akumulatora w ThinkPadach. Należy zainstalować pakiet odpowiedni dla wersji jądra (można sprawdzić za pomocą uname -r), w większości przypadków tp_smapi-kmp-desktop!
  • smartmontools – opcjonalnie, umożliwia wyświetlanie przez tlp-stat danych SMART dysku (dysków) twardego(ych).
  • ethtool - opcjonalny, umożliwia wyłączenie Wake On LAN.
  • powertop – opcjonalnie, do pomiaru zużycia energii

Aby zainstalować w terminalu, wprowadź jako root następujące polecenie (w razie potrzeby dostosuj nazwy pakietów tp_smapi):

zypper in tlp tp_smapi-kmp-desktop smartmontools ethtool powertop

Uruchomienie

Po instalacji TLP uaktywni się automatycznie przy następnym uruchomieniu systemu. Alternatywnie można go uruchomić od razu z wiersza poleceń za pomocą

 sudo tlp start

Konfiguracja

  • wszystkie ustawienia TLP znajdują się w /etc/default/tlp: szczegółowy opis.
  • Zmiany można aktywować bez ponownego uruchamiania systemu za pomocą
sudo tlp start

Polecenia terminala

Debian: wszystkie opisane w tym rozdziale polecenia zaczynające się od sudo należy - jak zwykle w Debianie - wykonywać bez sudo w powłoce roota.

wifi, bluetooth, wwan

Zintegrowane WLAN, Bluetooth i WWAN (UMTS) można w terminalu włączać, wyłączać i przełączać, a po wywołaniu bez parametrów sprawdzać ich stan:

wifi [ on | off | toggle ]

Wskazówka: w przypadku kart Intel 2200bg i 2915abg polecenie należy wywołać z sudo.

bluetooth [ on | off | toggle ]
wwan [ on | off | toggle ]

Debian: polecenia wifi, bluetooth i wwan należy wykonywać w powłoce roota.

Wskazówka: warunkiem działania pokazanych funkcji jest obsługa przez sprzęt frameworka rfkill jądra (wyjątek: Intel 2200/2915). Aby to sprawdzić, wpisz

rfkill list

i sprawdź, czy żądana klasa urządzeń wifi/bluetooth/wwan pojawia się na liście (w Debianie należy wcześniej zainstalować pakiet rfkill).

ThinkPad serii SL, L i Edge, X100e: Bluetooth i WWAN nie dają się przełączać do Ubuntu 10.04 włącznie z powodu braku obsługi rfkill, ponieważ moduł jądra thinkpad_acpi się nie ładuje; od 10.10 to ograniczenie nie występuje.

tlp-stat

Utworzenie raportu o stanie wszystkich aktywnych ustawień:

sudo tlp-stat

tlp

Aktywacja/test ustawień dla bieżącego źródła zasilania

sudo tlp start

Aktywacja ustawień dla pracy na akumulatorze

(niezależnie od faktycznego, bieżącego źródła zasilania)

sudo tlp bat

Aktywacja ustawień dla pracy na zasilaczu

(niezależnie od faktycznego, bieżącego źródła zasilania)

sudo tlp ac

Aktywacja ustawień oszczędzania energii dla WLAN

(tylko dla obsługiwanych adapterów lub jąder)

sudo tlp wifi

Aktywacja auto suspend dla wszystkich podłączonych urządzeń USB

(z wyjątkiem urządzeń z czarnej listy i urządzeń wejściowych)

sudo tlp usb

Wyłączanie napędu optycznego we wnęce wymiennej/Ultrabay

sudo tlp bayoff

Wskazówki dotyczące bayoff:

  • Napęd można ponownie włączyć za pomocą dźwigni zwalniającej wnęki wymiennej/Ultrabay, a w nowszych modelach przyciskiem wysuwania na napędzie.
  • Wszystkie inne urządzenia we wnęce wymiennej/UltraBay, w szczególności dyski twarde, nie są wyłączane tym poleceniem.

Rozładowywanie akumulatora podczas pracy na zasilaczu **ThinkPad

Służy do rekalibracji.

sudo tlp discharge [ BAT0 | BAT1 ]

Z parametrem BAT0 (domyślnie) rozładowywany jest akumulator główny, z BAT1 akumulator UltraBay. Polecenie na bieżąco wyświetla pozostałą pojemność i czas rozładowania. Rozładowywanie można w każdej chwili przerwać za pomocą Ctrl+C.

Uwagi:

  • polecenie działa tylko z podłączonym zasilaczem
  • podczas rozładowywania można normalnie pracować na ThinkPadzie
  • w razie problemów z tą funkcją prosimy zapoznać się także z TLP FAQ

Tymczasowa zmiana progów ładowania akumulatora **ThinkPad

Progi ładowania zostaną ustawione na podane wartości (tylko dla ThinkPadów, nie dla serii SL, L i Edge).

Zakres wartości od 1 do 100; PRÓG_START musi być mniejszy niż PRÓG_STOP - 3. Jeśli nie podano parametrów, używane są progi głównego akumulatora (BAT0) określone w ustawieniach.

sudo tlp setcharge  [ START_SCHWELLE STOP_SCHWELLE [ BAT0 | BAT1 ] ]

Zmienione progi ładowania akumulatora zostaną przy następnym uruchomieniu systemu ponownie ustawione na wartości zdefiniowane w ustawieniach.

Tymczasowe ustawienie progów ładowania akumulatora na maksimum **ThinkPad

Progi ładowania zostaną ustawione na 96/100%. Służy to do pełnego naładowania akumulatora (tylko dla ThinkPadów, nie dla serii SL, L i Edge).

sudo tlp fullcharge [ BAT0 | BAT1 ]

Zmienione progi ładowania akumulatora zostaną przy następnym uruchomieniu systemu ponownie ustawione na wartości zdefiniowane w ustawieniach.

Rekalibracja akumulatora **ThinkPad

Uwaga: proces rekalibracji sprawia, że elektronika w akumulatorze prawidłowo podaje stan naładowania i pojemność. Zużyte lub uszkodzone ogniwa akumulatora nie zostaną w ten sposób naprawione.

Aby przeprowadzić rekalibrację, należy raz całkowicie rozładować akumulator przy zasilaczu sieciowym poleceniem

sudo tlp discharge [ BAT0 | BAT1 ]

Następnie należy naładować akumulator do 100% poleceniem

sudo tlp fullcharge [ BAT0 | BAT1 ]

Disk ID

tlp diskid

Ustala identyfikatory dysków do podania w parametrze konfiguracyjnym DISK_DEVICES.

Raport stanu

sudo tlp stat

Odpowiada poleceniu tlp-stat.

run-on-ac, run-on-bat

Warunkowe uruchamianie poleceń w zależności od aktywnego źródła zasilania:

run-on-ac  befehl parameter ...
run-on-bat befehl parameter ...

befehl zostanie wykonane tylko wtedy, gdy aktywne jest odpowiednie źródło zasilania (-ac dla zasilacza, -bat dla akumulatora). Można tego użyć np. w „System -> Preferencje -> Programy startowe”.

Szczegóły wszystkich poleceń można również uzyskać poleceniem:

man <befehl>

Licencja

TLP jest licencjonowany na podstawie GPL w wersji 2. Źródła są dostępne w PPA (tlp_VERSION.tar.gz).

Portowanie

Dotychczas TLP jest dostępny dla Ubuntu, Debiana i Arch Linuksa. Wszystkie informacje potrzebne do dostosowania TLP do innych dystrybucji lub utworzenia pakietów znajdują się w dokumentacji programu TLP.

Wsparcie

FAQ

Pierwszym miejscem, do którego warto się zwrócić w razie pytań i problemów, jest TLP FAQ.

Forum Thinkpad

W przypadku dalszych pytań i problemów istnieje wątek wsparcia na forum Thinkpad (oczywiście mile widziani są tam także użytkownicy innych marek). Przy zapytaniach prosimy zawsze dołączać pełne wyjście polecenia (możliwie podczas pracy na akumulatorze)

egrep -v '^#|^\s*$' /etc/default/tlp
sudo tlp-stat

za pośrednictwem http://paste.ubuntuusers.de.

Tryb trace

W przypadku złożonych błędów można aktywować tryb trace za pomocą następującego ustawienia w /etc/default/tlp:

TLP_DEBUG="run rf pm usb sysfs"

Zebrane informacje można w każdej chwili odczytać poleceniem

grep "tlp" /var/log/debug

odczytać,

Changelog

Wersja 0.3.2 - 04.07.2011

Poprawki błędów:

  • Bug #22: Runtime PM powoduje przy zamykaniu systemu ponowne uruchomienie -> domyślnie wyłączone (fabio)
Uzupełnienie 12.07.2011 - wersja pakietu 0.3.2-2

Poprawki błędów dla Ubuntu i Debiana:

  • Bug #23: Skrypt init nie jest linkowany/usuwany (LePatron)

Wersja 0.3.1 - 02.07.2011

Poprawki błędów:

  • Bug #18: błędny komunikat „started in bat mode” z tlp start przy zasilaniu sieciowym (yatpu)
  • Bug #19: błędne wyjście tlp-stat przy Wi-Fi Broadcom ze sterownikiem wl (DrPaulaner)
  • Bug #20: prawidłowa obsługa wyłączonego w jądrze PCIe ASPM i wykazywanie go w tlp-stat (Schmitti, g3eB4Y)
  • Bug #21: atrybuty akumulatora /sys/class/power_supply/BAT?/charge_* nie są rozpoznawane (tanjapetri)

Nowe funkcje i zmiany:

  • Runtime Power Management dla urządzeń magistrali PCI/SPI/I2C (ccyx)
  • Limit czasu spindown dla każdego dysku ustawiany niezależnie od poziomu APM (enrico65, hausmarke86)
  • tlp-stat można teraz uruchomić tylko z uprawnieniami roota (sudo)
  • Usunięto blokadę dolnego progu ładowania w serii Edge. Wyświetlanie przez tlp-stat jest nieprawidłowe, mimo to próg działa poprawnie. Przyczyna leży w tp-smapi
  • Bash Completion dla poleceń tlp, bluetooth, wifi, wwan

Wersja 0.3.0.202 - 07.05.2011

TLP dla Arch Linuksa:

  • Wersja 0.3.0.202 nie zawiera w porównaniu z 0.3.0 żadnych nowych funkcji, wprowadzono jedynie zmiany ułatwiające przeniesienie na inne dystrybucje Linuksa.

Koniec wsparcia dla Ubuntu 9.10:

  • Wydanie usunięto z opisu, ponieważ zakończył się okres wsparcia. Pakiet pozostaje w PPA, jednak nowe wersje TLP dla 9.10 nie będą już udostępniane.

Wersja 0.3.0 - 19.03.2011

Dedykowane ofiarom katastrofy w Japonii.

Poprawki błędów:

  • Wyłączanie WWAN/UMTS przed wstrzymaniem (obejście problemu jądra lub Network Managera)

Nowe funkcje:

  • SCHED_POWERSAVE: przy niskim obciążeniu zmniejszanie liczby używanych rdzeni procesora
  • DISK_DEVICES: dyski można podawać za pomocą ID z /dev/disk/by-id (egalus)
  • tlp diskid: wyświetlanie powyższych ID
  • DISK_IOSCHED: określanie planisty I/O dla każdego dysku (egalus)
  • PCIe ASPM
  • START_CHARGE_THRESH: obsługa wyjątku dla modeli ThinkPad Edge obsługujących tp-smapi – możliwy tylko górny próg ładowania
  • Wpływanie na taktowanie Radeona – przez /sys/class/drm/card*/device/power_profile

Pakietowanie:

  • Uruchamianie systemu zmieniono z Upstart na skrypt SysV – /etc/init.d/tlp
  • Natty
Uzupełnienie 20.03.2011 - wersja pakietu 0.3.0-2

Poprawki błędów dla Debiana:

  • DEVICES_TO_DISABLE_ON_STARTUP: wyłączanie urządzeń bezprzewodowych przy starcie systemu działa teraz niezawodnie

Wersja 0.2.8 - 27.09.2010

Nowe funkcje:

  • Wsparcie dla Ubuntu 10.10 Maverick
  • DISK_APM_LEVEL: można wpisać wartości dla kilku dysków (Stifflers_mom)
  • USB_AUTOSUSPEND: urządzenia wejściowe są automatycznie wyłączane z autosuspend, tzn. wpis w USB_BLACKLIST nie jest już potrzebny
  • tlp-stat: na liście urządzeń USB wyświetlany jest odpowiedni sterownik

Wersja 0.2.7 - 11.09.2010

Poprawki błędów:

  • USB Autosuspend i tlp-stat nie obejmują wszystkich urządzeń
  • Bug #15: przerwanie tlp-stat przy Intel 2200bg (agape)
  • Bug #16: PHC_CONTROLS jest teraz ustawiane dla wszystkich rdzeni/procesorów (pumpe et al.)

Nowe funkcje:

  • Progi ładowania: nowe polecenie tlp setcharge ustawia progi tymczasowe (crishu)
  • DEVICES_TO_DISABLE_ON_STARTUP: moment wyłączenia Bluetootha przesunięto przed logowanie użytkownika
  • USB Autosuspend: dodatkowo wywoływane po każdym nawiązaniu połączenia WWAN

Wersja 0.2.6 - 12.06.2010

Poprawki błędów:

  • Bug #14: okno logowania pojawia się z dużym opóźnieniem przy USB_AUTOSUSPEND=1.

Nowe funkcje:

  • tlp fullcharge: pełne naładowanie akumulatora niezależnie od ustawionych progów ładowania.
  • tlp-stat wyświetla informację, gdy oszczędzanie energii dla karty Wi-Fi nie jest możliwe: „off (not supported)”.

Wersja 0.2.5 (-0ubuntu2) - 17.05.2010

Poprawka błędów tylko dla Ubuntu 10.04:

  • Pakiet pm-utils-powersave-policy jest od teraz automatycznie usuwany podczas instalacji TLP.

Tło: z powodu błędu pm-utils-powersave-policy „dezaktywuje” funkcje oszczędzania energii TLP, gdy kontroler SATA w BIOS-ie jest ustawiony na tryb „Compatible” (zgłoszenie błędu: LP# 514881). Ponieważ funkcjonalność pm-utils-powersave-policy jest w pełni pokryta przez TLP, pakiet można bez problemu usunąć.

Wersja 0.2.5 - 03.05.2010

Poprawki błędów:

  • Bug #10: USB_AUTOSUSPEND=1 z pustą USB_BLACKLIST powoduje znacznie wydłużony czas uruchamiania.
  • Bug #11: komunikat o błędzie tlp-stat przy dyskach SSD bez APM.

Nowe funkcje:

  • #12: przełączanie bluetooth/wifi/wwan (thatgui).
  • Tryb USB Autosuspend domyślnie włączony.
  • Oszczędzanie energii Wi-Fi dla Ubuntu 10.04 (jądro 2.6.32) znów możliwe (tylko Intel 5x00).
  • Dostosowania dla Lucid.

Wersja 0.2.4 - 14.03.2010

Poprawki błędów:

  • Bug #8: ostrzeżenie tlp-stat „...No such file or directory”, gdy nie ma ani wewnętrznego Bluetootha, ani WWAN.
  • Bug #9: wyłączony napęd Ultrabay po suspend/resume jest ponownie włączony i zostaje rozpoznany dopiero po wyjęciu i ponownym włożeniu.

Nowe funkcje:

  • Rozładowanie akumulatora podczas pracy na zasilaczu (tlp discharge).
  • run-on-ac, run-on-bat.

Wersja 0.2.3 - 07.03.2010

Poprawki błędów:

  • Bug #7: nośnik nie jest odmontowywany (umount) przed wyłączeniem napędu Ultrabay; brak rozpoznawania napędów optycznych != /dev/sr0.

Wersja 0.2.2 - 06.03.2010

Poprawki błędów:

  • Bug #3: Bluetooth nie daje się już włączyć, jeśli został wcześniej wyłączony przy starcie systemu. Rozwiązanie to tylko obejście błędu w Ubuntu (rfkill); Bluetooth jest teraz wyłączany dopiero przy logowaniu użytkownika.
  • Bug #5: moduł jądra tp_smapi nie jest automatycznie ładowany przez tlp i tlp-stat.
  • Bug #6: ostrzeżenie „tlp: [: 79: -a: unexpected operator” (Wi-Fi Intel 2200bg).

Nowe funkcje:

  • Zmiana uruchamiania systemu ze skryptu init na Upstart
  • Rozszerzone wyjście i kontrole błędów w tlp-stat
  • Wyłączaj napęd optyczny UltraBay przy przełączeniu na zasilanie bateryjne (parametr BAY_POWEROFF_ON_BAT=1)
  • wifi on|off dla WLAN Intel 2200bg/2915abg (możliwe tylko z sudo)

Wersja 0.2.1 - 02.02.2010

Poprawki błędów:

  • Bug #1: polecenia pm-suspend i pm-hibernate zawieszają się.
  • Bug #2: ostrzeżenie „/usr/sbin/tlp: 79: cannot create /sys/class/scsi_host/host*/link_power_management_policy: Directory nonexistent”.

Wersja 0.2.0 - 30.01.2010

Wydanie początkowe.

Narzędzia osobiste
Think-Wiki