TLP – dywersyfikacja energetyczna Linuksa

Zrób to samPrzenośne maszyny od dawna zadomowiły się wśród ludzi na dobre, ale Linux jakoś nie ma szczęścia do efektywnego wykorzystywania ich ograniczonych zasobów energetycznych. A z pewnością krótszy czas działania na baterii to powtarzający się motyw utyskiwania na ogólną sprawność Linuksa. Jednak po zgłębieniu tematu okaże się, że mechanizmów oszczędzania energii nasz system ma akurat sporo. Lecz jakoś do tej pory nikomu nie chciało się zebrać ich w jednym pliku konfiguracyjnym i stosować, gdy przechodzimy na dwudziesty pierwszy stopień zasilania. Epokę leniwego oczekiwania na cud kończy program TLP, który jest projektem wycelowanym w wykorzystanie niuansów energetycznych, dość skrzętnie ukrytych przed zwykłym użytkownikiem.

TLP sam w sobie stanowi uzupełnienie i rozszerzenie oryginalnych technik zarządzania energią w Linuksie. Niczego nie zastępuje, lecz sprytnie ustawia w celu przyoszczędzenia mW. Zakres jego działania sprowadza się do dwóch trybów – przy zasilaniu sieciowym oraz bez niego (na baterii). Zmiana trybu następuje automatycznie i wszystko odbywa się bez niepokojenia użytkownika.

TLP z jednej strony w użytkowaniu jest uproszczony aż do bólu – wystarczy tylko go uruchomić. Z drugiej strony nie znajdziemy wygodnego interfejsu graficznego, aby wyedytować przechowywane w pliku /etc/default/tlp parametry i opcje określające styl pracy TLP. Ew. zmiany konfiguracji musimy przeprowadzić ręcznie, zmieniając rzeczony plik. Lecz jak wspomniałem, zwykłemu zjadaczowi chleba wystarczy tylko zainstalować TLP i uruchomić komputer ponownie (TLP wystartuje automatycznie). Ambitni mogą zapoznać się z dokumentacją na stronie projektu i samodzielnie wyrzeźbić swoje ustawienia (/etc/default/tlp). Niemniej, w tym przypadku trzeba już wiedzieć mniej więcej co w kernelu i systemie piszczy. A jest tego trochę – począwszy od zarządzania częstotliwością pracy procesora, przez regulację zasilania dysków (aż po ich wyłączenie), kontrolę wbudowanych urządzeń, optymalizację pracy kernela, NMI i wiele, wiele innych.

Bateria bez wspomagania TLP
Bateria bez wspomagania TLP
Bateria ze wspomaganiem TLP
Bateria ze wspomaganiem TLP

I tak to wygląda w praktyce. Mój laptop przeznaczony do prac stacjonarnych zwykle wytrzymuje na baterii w okolicach ~ 2 godzin. Po uruchomieniu TLP jego obecny uptime na baterii to 2 godziny i 40 min (oczywiście w ciągłym użytkowaniu). I jak podpowiada system, baterii wystarczy jeszcze na 30 min. Jak na mojego energochłonnego Della – bardzo sympatyczny wynik.

Aby zainstalować program w wersji dla Ubuntu 12.04/12.10/13.04, Minta 13/14/15 i pochodnych, należy dodać do systemu repozytorium ppa:linrunner/tlp:

sudo apt-add-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw smartmontools ethtool

Ponieważ niektóre funkcje dublują się z programem laptop-mode-tools, należy pamiętać o jego usunięciu, gdy chcemy w pełni i wydajnie korzystać z TLP. Poniżej lista spraw, o które potrafi zadbać TLP. Aby uniknąć nieporozumień w nomenklaturze technicznych terminów pozostawiam pisownię oryginalną.

  • Kernel laptop mode and dirty buffer timeouts
  • Processor frequency scaling including “turbo boost” / “turbo core”
  • Power aware process scheduler for multi-core/hyper-threading
  • Hard disk advanced power magement level and spin down timeout (per disk)
  • SATA aggressive link power management (ALPM)
  • PCI Express active state power management (PCIe ASPM) – Linux 2.6.35 and above
  • Runtime power management for PCI(e) bus devices – Linux 2.6.35 and above
  • Radeon KMS power management – Linux 2.6.35 and above, not fglrx
  • Wifi power saving mode – depending on kernel/driver
  • Power off optical drive in drive bay (on battery)
  • I/O scheduler (per disk)
  • USB autosuspend with blacklist
  • Audio power saving mode – hda_intel, ac97
  • Enable or disable integrated wifi, bluetooth or wwan devices upon system startup and shutdown
  • Restore radio device state on system startup (from previous shutdown).
  • Radio device wizard: switch radios upon network connect/disconnect and dock/undock
  • Disable Wake On LAN
  • WWAN state is restored after suspend/hibernate
  • Untervolting of Intel processors – requires kernel with PHC-Patch
  • Battery charge thresholds – ThinkPads only
  • Recalibrate battery – ThinkPads only
  • 10 komentarzy

    1. Przerzuciłem, nie przerzuciłem – ot, od paru dni próbuję użytkować i wybadać jak to w praniu się sprawdza . Zaleta trzch partycji systemowych. Nie mam oporów przed innymi dystrybucjami 🙂

    2. Bawiłem się eOSem jeszcze we wczesnych buildach i działał bardzo fajnie. Jednak po teście drugiej bety odczułem jakieś dziwne spowolnienie systemu. Szkoda, że twórcy mają mało programistów, bo rozwój dystrybucji idzie dość powoli, a ich oprogramowanie dość ubogie i niestabilne. Ale chyba nie pod tym wpisem powinienem wylewać te żale 😉

    3. Jak się program ma do laptop-mode-tools? Nie kolidują ich funkcjonalności ze sobą?

    4. Jak pisze sam autor TLP:

      “Please remove laptop-mode-tools”

      Z tego można wnioskować, że jednak mogą ze sobą kolidować z powodu dublowania niektórych funkcji.

    5. Oczywiście, ale żeby porównać jak zachowywało się OpenCL we wcześniejszych wersjach, musiałbym wykonać parę testów.

    6. Serwus. Dodaję bloga do zakładek, widzę że warto mieć. 🙂

      Mam pytanie. Jak upewnić się, że TLP będzie odpalać się przy starcie i że przy zmianie bateria/kabel będzie zmieniał tryby? Czy wystarczy, że do listy autostartu dodałem komendę “sudo tlp start”? 🙂

    7. Nie wiem jakiej dystrybucji używasz, ale tlp po zainstalowaniu wskakuje samodzielnie do autorstartu (a konkretnie /etc/rc2.d) i nie trzeba wywoływać dodatkowych komend, by uruchamiało się po starcie. Domyślnie jest też aktywowany tryb oszczędzania energii w tlp (w zależności od typu zasilania) – w /etc/default/tlp:

      TLP_ENABLE=1

      … jeżeli wstawimy tam wartość 0, tlp nie będzie aktywne.

    Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

    Post comment

    Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.