TLP Einstellungen

Aus ThinkPad-Wiki

Einleitung

Alle Einstellungen von TLP sind zentral in der Konfigurationsdatei /etc/default/tlp zusammengefaßt.

Die mitgelieferte Datei enthält bereits für nahezu alle Benutzer sinnvolle, stromsparende Voreinstellungen. Eine Anpassung der Konfiguration ist nur erforderlich, wenn zusätzliche Funktionen wie z.B. Deaktivieren von Funkgeräten beim Systemstart, Ausschalten des Ultrabay-Laufwerks oder Akkuladeschwellen aktiviert werden sollen.

Die Konfigurationsdatei muß mit einem Editor mit Root-Rechten bearbeitet werden. Also z.B. per

gksudo gedit /etc/default/tlp

Nach dem Ändern von Einstellungen werden diese nach einem Neustart, einem Wechsel der Stromquelle oder unmittelbar durch

sudo tlp start

aktiv.

Hinweis zu Versionsupdates: beim Update des Pakets wird die vom Benutzer angepaßte Datei von der Paketverwaltung nur nach Rückfrage überschrieben bzw. die neue Datei als /etc/default/tlp.dpkg-dist abgelegt.

Parameter

Allgemeine Hinweise:

  • Parameter mit der Endung _AC wirken auf den Netzteilbetrieb
  • Parameter mit der Endung _BAT wirken auf den Akkubetrieb
  • Parameter die Leerzeichen enthalten sind in Anführungszeichen ("") anzugeben
  • bei einigen Parametern ist zum Aktivieren das führende Kommentarzeichen (#) zu entfernen

Stromsparfunktionen

Dieses Kapitel beschreibt die Einstellungen die durch das Installationspaket tlp implementiert werden.

Allgemeines

TLP_ENABLE=1

Der Hauptschalter von TLP. Zum Deaktivieren von TLP setzt man ihn auf 0 und macht einen Neustart.

Dateisystem

DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2

Steuert ob der Laptop-Mode des Linux-Kernels verwendet werden soll (Wert ungleich 0). Diese Einstellung sollte man nicht ändern.

MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60

Timeouts (in Sekunden) für das Zurückschreiben der Dateisystempuffer auf die Festplatte.

Prozessor und Taktsteuerung

CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=ondemand

Wählt den sogenannten "Governor" für die Prozessortaktsteuerung aus. Gültige Werte sind ondemand (Standard), powersave, performance sowie conservative.

intel_pstate: seit Kernel 3.9 wird auf Intel Sandy Bridge (oder neuerer) Hardware automatisch der neue Treiber intel_pstate verwendet.. intel_pstate unterstützt als Governor nur noch powersave (empfohlener Standard) und performance. Der gerade aktive Treiber kann der Ausgabe von tlp-stat, Abschnitt "+++ Processor", entnommen werden.

Wichtig: die in jeder Distribution vorhandene Standardeinstellung für den Governor muss deaktiviert werden, ansonsten sind nicht vorhersagbare Resultate zu erwarten. Siehe FAQ.

CPU_SCALING_MIN_FREQ_ON_AC=0
CPU_SCALING_MAX_FREQ_ON_AC=0
CPU_SCALING_MIN_FREQ_ON_BAT=0
CPU_SCALING_MAX_FREQ_ON_BAT=0

Gibt die minimale/maximale Taktfrequenz für den Governor vor. Die gültigen Werte hängen vom verbauten Prozessormodell ab und sind der Ausgabe von tlp-stat, Abschnitt "+++ Processor", zu entnehmen. Der Wert 0 aktiviert die Standardfrequenzen des Prozessors.

Hinweis: zum Aktivieren der Standardfrequenzen ist ein Neustart erforderlich, damit die geänderte Einstellung greift.

CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0

Abschalten des "Turbo Boost" (Intel) bzw. "Turbo Core" (AMD) des Prozessors (0 = abgeschaltet / 1 = erlaubt).

Hinweise:

  • Benötigt Linux 3.7 oder höher
  • Der Wert 1 aktiviert den "Turbo Boost" nicht, sondern erlaubt ihn lediglich
  • Eine Taktbegrenzung (s.o.) kann diese Einstellung unwirksam machen
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1

Bei geringer Last wird die Anzahl der verwendeten CPU-Kerne reduziert (1 = aktiv, 0 = inaktiv). Wirkt nicht bei allen Kernelversionen bzw. CPUs. Hier ist normalerweise keine Änderung erforderlich.

Kernel

NMI_WATCHDOG=0

Schaltet den Kernel-NMI-Watchdog-Timer (0 = inaktiv/Strom sparen, 1=aktiv). Der Wert 1 ist nur relevant für Benutzer die Kernel Debugging betreiben möchten.

Undervolting

PHC_CONTROLS="F:V F:V F:V F:V"

Hinweis: erfordert fortgeschrittene Linux-Kenntnisse.

Ist ein Kernel mit PHC-Patch installiert, so können hier zum Undervolting die gewünschten Wertepaare (Frequenz:Spannung) eingetragen werden.

Festplatten und Controller

Hinweis: TLPs Standardeinstellungen arbeiten problemlos mit SSDs zusammen, es besteht kein Anlass zu diesbezüglichen Optimierungen.

Angabe der Geräte

DISK_DEVICES="sda sdb"

Hier wird angegeben auf welche Festplatte(n) die nachfolgenden Parameter für das Power Management wirken sollen. Mehrere Festplatten sind mit Leerzeichen getrennt aufzuführen ("sda sdb").

Da beim Einsatz einer 2. Festplatte im Wechselschacht (bzw. in der Ultrabay) unter Umständen die Zuordnung zu den Devicenamen sda/sdb nicht immer dieselbe ist, können die Festplatten alternativ über eine ID angegeben werden:

DISK_DEVICES="ata-INTEL_SSDSA2M160G2GC_XZY123456890 ata-HITACHI_HTS541612J9SA00_XZY123456890"

Die IDs der eingebauten Platten ermittelt man im Terminal mit dem Kommando

tlp diskid

Advanced Power Management

DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128" 

Steuert den "Advanced Power Management Level" der Festplatte(n). Gültige Werte liegen im Bereich von 1 bis 255.

Einige ausgewählte Werte sind:

  • 1 - maximale Energieeinsparung
    Vorsicht: kann zu erhöhtem Verschleiß durch häufiges Parken der Schreib-/Leseköpfe führen (meist erkennbar am Klickgeräusch) .
  • 128 - Kompromiss aus Energieeinsparung und Verschleiß (TLP-Standard im Akkubetrieb)
  • 192 - verhindert bei einigen Festplattenmodellen aggressives Parken der Köpfe
  • 254 - minimale Energieeinsparung (TLP-Standard für Betrieb am Netzteil)
  • 255 - aus (wird von manchen Festplatten nicht unterstützt)

Sollen im Fall mehrerer Festplatten unterschiedliche Werte eingestellt werden, sind sie mit Leerzeichen getrennt anzugeben.

Spindelmotor abschalten

DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"

Steuert die Zeitspanne (Timeout) für das automatische Stoppen des Spindelmotors der Festplatte bei Inaktivität. Gültige Werte sind:

  • 0 - Abschalten deaktiviert
  • 1..240 - Timeout von 5 Sekunden bis 20 Minuten (in Schritten von 5 Sekunden)
  • 241..251 - Timeout von 30 Minuten bis 5,5 Stunden (in Schritten von 30 Minuten)

SSDs haben keine bewegten Teile, daher hat für sie diese Einstellung keine Bedeutung und kann deaktiviert bleiben.

Hinweis: das automatische Stoppen der Systemplatte für einen längeren Zeitraum gelingt in der Regel nicht, da viele Anwendungen und Hintergrunddienste die Festplatte nach kurzer Zeit durch Schreibvorgänge wieder aufwecken. Für eine Festplatte im Wechselschacht bzw. der Ultrabay, auf die nicht ständig zugegriffen wird, eignet sich diese Einstellung hingegen sehr gut.

I/O-Scheduler

DISK_IOSCHED="deadline cfq"

Hier kann je Festplatte der I/O-Scheduler festgelegt werden. Mögliche Werte sind:

  • cfq - Linux Default, geeignet sowohl für konventionelle Festplatten als auch SSDs
  • deadline - Linux Default (neuere Kernel), geeignet sowohl für konventionelle Festplatten als auch SSDs
  • noop

Sollen im Fall mehrerer Festplatten unterschiedliche Werte eingestellt werden, sind sie mit Leerzeichen getrennt anzugeben.

SATA Aggressive Link Power Management

SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power

Steuert den Energiesparmodus (ALPM) der SATA-Anschlüsse für Festplatte bzw. opt. Laufwerk:

  • min_power - maximale Energieeinsparung und geringste Performance
  • medium_power - Kompromiss aus Stromverbrauch und Performance
  • max_performance - maximale Performance und Stromverbrauch

Hinweis: um diese Einstellung komplett zu deaktivieren, fügt man ein '#' in der ersten Spalte ein.

PCI-Express-Bus

Active State Power Management

PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave

Steuert den Energiesparmodus des PCI-Express-Bus (PCIe ASPM). Verfügbar ab Linux 2.6.35.

Mögliche Werte:

  • default
  • performance
  • powersave

Grafikkarten

Radeon (alt)

RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low

Steuert die Taktfrequenz der Grafikkarte. Verfügbar ab Linux 2.6.35 - nur mit dem freien Treiber radeon, nicht mit fglrx.

Mögliche Werte:

  • low
  • mid
  • high
  • auto - Akkubetrieb: mid, Netzteilbetrieb: high
  • default - Hardware-Defaults verwenden, keine Taktbeeinflussung

Hinweis: durch Verwendung dieser Einstellung flackert beim Wechsel der Stromquelle das Display ganz kurz.

Radeon DPM (neu)

Seit Kernel 3.11 ist das neue Radeon Dynamic Power Management (DPM) verfügbar - nur mit dem freien Treiber radeon, nicht mit fglrx.

Hinweis: es wird die Bootoption radeon.dpm=1 benötigt.

RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery

Steuert die Power Management Methode, mögliche Werte:

  • battery – Default im Akkubetrieb
  • performance – Default am Netzteil
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto

Steuert den Performance Level, mögliche Werte:

  • auto – Empfohlen!
  • low
  • high

Netzwerk

WLAN Power Management

WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5

Steuert den Energiesparmodus des WLAN-Adapters. Abhängig von Kernelversion und Karte.

  • 1 - deaktiviert
  • 5 - aktiviert

Hinweis: der Energiesparmodus kann zu einer instabilen WLAN-Verbindung führen.

Wake On LAN

WOL_DISABLE=Y
  • Y - Wake On LAN deaktiviert
  • N - Wake On LAN aktiviert

Hinweis: nach dem Aktivieren ist ein Neustart erforderlich, damit die geänderte Einstellung greift.

Sound

SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1

Timeout (in Sekunden) für den Stromsparmodus des Soundchips (unterstützt: Intel HDA, AC97). Der Wert 0 deaktiviert die Funktion.

Hinweis: kann zu Klickgeräuschen in der Soundausgabe führen.

SOUND_POWER_SAVE_CONTROLLER=Y
  • Y - schaltet den Controller ebenfalls aus wenn der Soundchip in den Stromsparmodus geht
  • N - Controller bleibt immer aktiv

Wechselschacht / Ultrabay

BAY_POWEROFF_ON_BAT=0
  • 1 - schaltet die Stromversorgung des optischen Laufwerks in Wechselschacht/Ultrabay im Akkubetrieb aus
  • 0 - kein Abschalten
BAY_DEVICE=sr0

Gibt die Gerätedatei für das opt. Laufwerk an (Default ist /dev/sr0).

Hinweise:

  • Das Laufwerk kann über den Wechselschacht-/Ultrabay-Entriegelungsschieber bzw. bei neueren Modellen über den Auswurfknopf am Laufwerk wieder eingeschaltet werden.
  • Alle anderen Geräte im Wechselschacht bzw. der UltraBay, insbesondere Festplatten, werden durch dieses Kommando nicht ausgeschaltet.

Runtime Power Management

RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto

Steuert das Runtime Power Management für PCI(e)-Geräte. Verfügbar ab Linux 2.6.35.

  • auto - aktiviert (Geräte nach Möglichkeit ausschalten)
  • on - deaktiviert (Geräte ständig aktiv)

Hinweis: um diese Einstellung komplett zu deaktivieren, fügt man ein '#' in der ersten Spalte ein.

RUNTIME_PM_ALL=1

Steuert welche PCI(e)-Geräte vom Runtime Power Management erfasst werden:

  • 0 - nur ausgewählte Geräte
  • 1 - alle Geräte (Default)
RUNTIME_PM_BLACKLIST="00:12.3 00:45.6"

Die aufgeführten PCI(e) Geräte Adressen werden vom Runtime Power Management ausgeschlossen. Die Adressen kann man mit dem Kommando lspci ermitteln (erste Spalte).

USB

USB_AUTOSUSPEND=1
  • 1 - aktiviert beim Systemstart und beim Wechsel der Stromquelle für die USB-Geräte den Auto-Suspend-Modus. Automatisch davon ausgenommen sind Eingabegeräte wie Mäuse und Tastaturen.
  • 0 - Funktion deaktiviert

Hinweis: der USB Auto-Suspend-Modus wird von TLP unabhängig von der Stromquelle – d.h. sowohl am Netzteil als auch im Akkubetrieb – aktiviert.

USB_BLACKLIST="1111:2222 3333:4444"

Die eingetragenen USB-Geräte-IDs sind vom Auto-Suspend-Modus ausgenommen. Hier können problematische Geräte aufgenommen werden, die Schwierigkeiten mit dem Aufwachen haben. Die IDs ermittelt man am einfachsten mit dem Kommando lsusb. Mehrere IDs sind mit Leerzeichen zu separieren.

USB_BLACKLIST_WWAN=1

Schließt eingebautes WWAN/UMTS vom Auto-Suspend aus:

  • 0 - nicht ausschließen
  • 1 - ausschließen

Hinweis: unterstützt derzeit nur USB IDs 05c6:* (Qualcomm), 0bdb:* (Ericsson) und 1199:* (Sierra).

USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1

Deaktiviert den Auto-Suspend-Modus beim Herunterfahren des Systems. Dies ist als Umgehungslösung gedacht für USB-Geräte die im Suspend-Zustand das Herunterfahren stören.

Systemstart und Herunterfahren

RESTORE_DEVICE_STATE_ON_STARTUP=1

Mit dieser Einstellung (1=aktiviert, 0=deaktiviert) wird beim Systemstart der Schaltzustand aller Funkgeräte (Bluetooth, WLAN, WWAN) zum Zeitpunkt des letzten Herunterfahrens bzw. Neustarts wiederhergestellt.

Hinweis: bei Aktivierung ignoriert TLP die beiden nachfolgenden Einstellungen.

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"

Die hier eingetragenen Geräte werden beim Systemstart automatisch ausgeschaltet:

  • bluetooth - eingebautes Bluetooth (wird bei der Benutzeranmeldung deaktiviert)
  • wifi - WLAN
  • wwan - eingebautes WWAN/UMTS

Mehrere Geräte sind mit Leerzeichen zu trennen.

Hinweis: diese Funktion ist, speziell für Bluetooth und WWAN, nicht für alle Notebook-Modelle verfügbar. Grund dafür sind Kerneltreiber die nicht das notwendige rfkill-Framework unterstützen.

DEVICES_TO_ENABLE_ON_STARTUP="bluetooth wifi wwan"

Normalerweise werden unter Linux alle Funkgeräte beim Systemstart automatisch eingeschaltet. Sollte das ausnahmsweise nicht der Fall sein, so können die betreffenden Geräte hierüber eingeschaltet werden.

DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"

Sollten Geräte das Herunterfahren des Systems blockieren, können sie über einen Eintrag in diesem Parameter während des Herunterfahrens ausgeschaltet werden.

DEVICES_TO_ENABLE_ON_SHUTDOWN="bluetooth wifi wwan"

Die hier eingetragenen Geräte werden beim Herunterfahren automatisch eingeschaltet. Dies ist als Umgehungslösung gedacht, falls parallel installierte andere Betriebssysteme die unter Linux ausgeschalteten Geräte nicht finden können.

Akku

Nur für ThinkPads

START_CHARGE_THRESH_BAT0=75 
STOP_CHARGE_THRESH_BAT0=80
START_CHARGE_THRESH_BAT1=75
STOP_CHARGE_THRESH_BAT1=80

Einstellen der Akkuladeschwellen von ThinkPads für Hauptakku (BAT0) und Ultrabay-Akku (BAT1). Die Werte sind in % der Akkukapazität anzugeben. Ein Wert von 0 wird in die Hardware-Defaults 96%/100% übersetzt.

Das Aufladen startet beim Anschließen des Netzteils nur dann, wenn die Ladung unterhalb des START_CHARGE_TRESH-Werts (untere Ladeschwelle) liegt und endet bei Erreichen des STOP_CHARGE_TRESH-Werts (obere Ladeschwelle). Liegt hingegen beim Anstecken des Netzteils die Ladung über der unteren Ladeschwelle, dann wird nicht geladen.

Die mitgelieferte Konfigurationsdatei enthält Einstellungen (im Beispiel gezeigt) die auf größtmögliche Lebensdauer des Akkus ausgelegt sind; er wird dabei nur bis max. 80% geladen. Die Einstellungen sind jedoch in der Konfigurationsdatei auskommentiert und müssen vom Benutzer explizit aktiviert bzw. auf Wunsch angepaßt werden. Bereits die Hardware-Defaults 96%/100% – die auch ohne TLP wirksam wären – verhindern schädliche Miniladezyklen.

Zur Auswahl individueller Einstellungen empfiehlt sich die Lektüre von Akku.

Hinweis: der eigentliche Ladevorgang wird nicht per Software, sondern durch die Hardware gesteuert. TLP schreibt lediglich die Schwellen in die Hardwareregister der Ladeelektronik (per tp-smapi oder tpacpi-bat)

Für weitere Fragen zu den Ladenschwellen sei auf die TLP FAQ verwiesen.

Funkgerätesteuerung – Radio Device Wizard

Der Radio Device Wizard bietet die Möglichkeit ereignisgesteuert Funkgeräte ein- bzw. auszuschalten. Er wird in Ubuntu und Debian durch das (optionale) Installationspaket tlp-rdw implementiert.

Hinweis: Voraussetzung für den Radio Device Wizard ist die Verwendung des Network Managers.

Abschalten bei Verbindungsaufbau

DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"

Nach dem Verbindungsaufbau von LAN, WLAN oder WWAN werden die angebenen Geräte ausgeschaltet:

  • bluetooth - eingebautes Bluetooth
  • wifi - WLAN
  • wwan - eingebautes WWAN/UMTS

Mehrere Geräte sind mit Leerzeichen zu trennen.

Einschalten bei Verbindungsabbau

DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""

Nach dem Verbindungsabbau von LAN, WLAN oder WWAN werden die angebenen Geräte eingeschaltet.

Ein- bzw. Ausschalten beim Andocken

DEVICES_TO_ENABLE_ON_DOCK=""
DEVICES_TO_DISABLE_ON_DOCK=""

Nach dem Andocken werden die angegebenen Geräte ein- bzw. ausgeschaltet.

Ein- bzw. Ausschalten beim Abdocken

DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
DEVICES_TO_DISABLE_ON_UNDOCK=""

Nach dem Abdocken werden die angegebenen Geräte ein- bzw. ausgeschaltet.

Trace-Modus

Zu Supportzwecken kann der Trace-Modus durch Einfügen folgender Zeile aktiviert werden

TLP_DEBUG="bat disk lock nm path pm rf run sysfs udev usb"

Originaldatei

Die Datei /etc/default/tlp aus dem Installationspaket findet sich hier.

Links

TLP

Hintergrund

  • I/O Scheduling – Wikipedia Artikel zum I/O-Scheduler (englisch)
  • Making sense of PCIe ASPM – Hinweise zum PCI Express Active State Power Management (englisch)
  • Radeon driver – Treiberdokumentation, s. Abschnitt "KMS Power Management Options" (englisch)
  • rfkill – Wikiartikel zum Schalten der Funkgeräte
  • Run-time power management – Kerneldokumentation (englisch)
  • tp-smapi – Wikiartikel zur Schnittstelle für die Akkufunktionen
  • tpacpi-bat – Schnittstelle für die Akkufunktionen ab den Sandy-Bridge-Modellen (X220 / T420 etc.)
  • USB Auto Suspend – Kernel Dokumentation zum USB Auto Suspend (englisch)