Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.291
Nachdem im Forum öfters nachgefragt wird, wie man Linux die Feinheiten des Stromsparens beibringt, habe ich mich vor einiger Zeit entschlossen, meine Skriptsammlung in eine allgemein benutzbare Form zu bringen. Das Ergebnis möchte ich Euch an dieser Stelle vorstellen.

Dokumentation ist auf der offiziellen Website https://linrunner.de/tlp/ zu finden (die Infos in unserem Wiki werden von mir nicht mehr gepflegt und sind veraltet).

Fragen und Probleme einfach hier im Thread posten.

Für die erste Analyse benötige ich bitte stets den kompletten Output von

Code:
sudo tlp-stat
Anmerkung: ich fordere oft in der weiteren Analyse Teilausgaben an - das sollt ihr jedoch nicht selbstständig tun! Immer zuerst die vollständige Ausgabe.

Bitte auch die FAQ beachten!

Rückmeldungen der Art "alles funktioniert" sind natürlich auch gern gesehen ... :cool:
 
Zuletzt bearbeitet:
Hey,
ich habe gerade mal etwas mit tlp herumgespielt.

Da kam mir eine Idee auf, wäre es möglich bei der Temperaturausgabe von "tlp-stat -t" die Festplatte und eventuell den Akku miteinzubeziehen?
Die Ausgabe ist momentan mit der CPU Temp und der Lüftereschwindigkeit so übersichtlich, dass da ein paar Zeilen mehr, dieser Übersichtlichkeit meiner Meinung nach nicht stören würden.

Und noch eine Frage, gibt es einen besonderen Grund, warum nun für "tlp-stat" der Bindestrich eingefügt würde?
Momentan nervt es mich persönlich noch stark diesen immer zu tippen, da ich daran noch nicht gewöhnt bin, persönlich würde ich es bevorzugen, den Bindestrich wegfallen zu lassen....
 
wäre es möglich bei der Temperaturausgabe von "tlp-stat -t" die Festplatte und eventuell den Akku miteinzubeziehen?
Seit der Generation T410/X201 gibt es keine Sensoren für Akkus, GPU usw. mehr, nur noch CPU. Für HDD und SSD werden vorhandene Sensoren je "Disk" bei den "SMART infos" angezeigt.

Und noch eine Frage, gibt es einen besonderen Grund, warum nun für "tlp-stat" der Bindestrich eingefügt würde?
Das Kommando – ein separates Programm – ist schon immer "tlp-stat". "tlp stat" war ein Alias (sprich: Redundanz) im Programm "tlp", der bei der Umstellung der Verarbeitung der Kommando-Parameter mit TLP 1.2 entfallen ist. Du wirst dich einfach umstellen müssen, ich finde das ist kein Grund "genervt" zu sein.
 
Zuletzt bearbeitet:
Und noch eine Frage, gibt es einen besonderen Grund, warum nun für "tlp-stat" der Bindestrich eingefügt würde?
Momentan nervt es mich persönlich noch stark diesen immer zu tippen, da ich daran noch nicht gewöhnt bin, persönlich würde ich es bevorzugen, den Bindestrich wegfallen zu lassen....

Leg doch einfach ein alias oder symlink an.
 
Hallo, wie installiere ich auf dem x390 unter Debian Buster etwas neueres als TLP 1.1 ?!?

Ist für den kommenden Testbericht. Mit 1.1 lässt sich keine Akkuladeschwelle setzen und die Anleitungen mit den Backports sind alle ? für ältere Debianversionen, bin aber auch kein Profi.

Danke !
 
@mcb: statt vorläufiger Schlussfolgerungen lese ich hier viel lieber Ausgaben: :D
Code:
sudo tlp-stat -s -c -b

TLP 1.1 + acpi-call-dkms + Buster (mit Kernel 4.19) müssten das sehr wohl können.

Aber installiere ruhig erstmal die 1.2.2 aus den Backports und zeige dann die Ausgaben.

Die englische Installationsseite ist aktuell was die Backports angeht.

Bin noch nicht dazu gekommen das Wiki nachzuziehen. Hättest Du Lust das zu übernehmen?
 
@mcb: statt vorläufiger Schlussfolgerungen lese ich hier viel lieber Ausgaben: :D
Code:
sudo tlp-stat -s -c -b

TLP 1.1 + acpi-call-dkms + Buster (mit Kernel 4.19) müssten das sehr wohl können.

Aber installiere ruhig erstmal die 1.2.2 aus den Backports und zeige dann die Ausgaben.

Die englische Installationsseite ist aktuell was die Backports angeht.

Bin noch nicht dazu gekommen das Wiki nachzuziehen. Hättest Du Lust das zu übernehmen?

Danke!

Ich probiere morgen nochmal kurz 1.1 -> aber dort geht es bisher nicht -> poste dann auch die stat-Ausgaben.

Danke mit den Backports.

Welches Wiki muß aktualisiert werden?

Melde mich dann morgen.

Gruß
 
Hier die gewünschte Ausgabe (sieht alles gut aus):

Code:
--- TLP 1.1 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
TLP_PERSISTENT_DEFAULT=0
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_HWP_ON_AC=balance_performance
CPU_HWP_ON_BAT=balance_power
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=power
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
AHCI_RUNTIME_PM_TIMEOUT=15
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=0
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_AC=0
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
USB_AUTOSUSPEND=1
USB_BLACKLIST_BTUSB=0
USB_BLACKLIST_PHONE=0
USB_BLACKLIST_PRINTER=1
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
START_CHARGE_THRESH_BAT0=60
RESTORE_THRESHOLDS_ON_BAT=1

+++ System Info
System         = LENOVO ThinkPad X390 20Q1S02M00
BIOS           = N2JET73W (1.51 )
Release        = Debian GNU/Linux 10 (buster)
Kernel         = 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2 (2019-08-28) x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-4.19.0-6-amd64 root=/dev/mapper/vg-root ro quiet
Init system    = systemd v241 (241)
Boot mode      = BIOS (CSM, Legacy)

+++ TLP Status
State          = enabled
Last run       = 02:29:30 PM,   7450 sec(s) ago
Mode           = AC
Power source   = AC

+++ ThinkPad Battery Features
tp-smapi   = inactive (kernel module 'tp_smapi' not installed)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 02DL017
/sys/class/power_supply/BAT0/cycle_count                    =      6
/sys/class/power_supply/BAT0/energy_full_design             =  48010 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  49070 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  49070 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Full

tpacpi-bat.BAT0.startThreshold                              =     60 [%]
tpacpi-bat.BAT0.stopThreshold                               =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =  100.0 [%]
Capacity                                                    =  102.2 [%]

Vorführeffekt ?

Ich entlade mal ein wenig und probiere ob er danach lädt oder auch nicht ...

:)

Code:
--- TLP 1.1 --------------------------------------------

+++ System Info
System         = LENOVO ThinkPad X390 20Q1S02M00
BIOS           = N2JET73W (1.51 )
Release        = Debian GNU/Linux 10 (buster)
Kernel         = 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2 (2019-08-28) x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-4.19.0-6-amd64 root=/dev/mapper/vg-root ro quiet
Init system    = systemd v241 (241)
Boot mode      = BIOS (CSM, Legacy)

+++ TLP Status
State          = enabled
Last run       = 05:11:01 PM,     41 sec(s) ago
Mode           = AC
Power source   = AC

+++ ThinkPad Battery Features
tp-smapi   = inactive (kernel module 'tp_smapi' not installed)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 02DL017
/sys/class/power_supply/BAT0/cycle_count                    =      6
/sys/class/power_supply/BAT0/energy_full_design             =  48010 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  49550 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  45300 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown (threshold effective)

tpacpi-bat.BAT0.startThreshold                              =     60 [%]
tpacpi-bat.BAT0.stopThreshold                               =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   91.4 [%]
Capacity                                                    =  103.2 [%]

^^ alles gut! :confused:

- - - Beitrag zusammengeführt - - -

Also TLP 1.1 funktioniert auf dem X390 unter Debian Buster wie erhofft. :)
 
Zuletzt bearbeitet:
Es kann übrigens sehr wohl sein, dass die EC Firmware beim Schreiben der Schwellen zickt, obwohl TLP alles richtig macht. Das X1C6 und 80er Modelle zeigten anfangs das Phänomen, dass sie nach erstmaligem Heruntersetzen der Stop-Schwelle keine Erhöhung mehr nehmen wollten -- siehe. Ein Update des ECP bzw. BIOS hat das Problem behoben.

Zeigst Du auch noch die Ausgaben mit 1.2.2? Vielen Dank im voraus.
 
Klar doch, spiele am Wochenende eh noch ein bischen rum - für den Test!
 
@mcb: Prima. Ich hab in deinem Test-Thread noch einen Wunsch gepostet.
 
Dank der guten Anleitung:
Code:
--- TLP 1.2.2 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
TLP_PERSISTENT_DEFAULT=0
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_HWP_ON_AC=balance_performance
CPU_HWP_ON_BAT=balance_power
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=power
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
AHCI_RUNTIME_PM_TIMEOUT=15
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=0
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_AC=0
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
USB_AUTOSUSPEND=1
USB_BLACKLIST_BTUSB=0
USB_BLACKLIST_PHONE=0
USB_BLACKLIST_PRINTER=1
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
START_CHARGE_THRESH_BAT0=60
RESTORE_THRESHOLDS_ON_BAT=1

+++ System Info
System         = LENOVO ThinkPad X390 20Q1S02M00
BIOS           = N2JET73W (1.51 )
Release        = Debian GNU/Linux 10 (buster)
Kernel         = 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-4.19.0-6-amd64 root=/dev/mapper/vg-root ro quiet
Init system    = systemd v241 (241)
Boot mode      = BIOS (CSM, Legacy)

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 02:54:35 PM,     40 sec(s) ago
Mode           = AC
Power source   = AC

+++ Battery Features: Charge Thresholds and Recalibrate
natacpi    = active (data, thresholds)
tpacpi-bat = active (recalibrate)
tp-smapi   = inactive (ThinkPad not supported)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SMP
/sys/class/power_supply/BAT0/model_name                     = 02DL017
/sys/class/power_supply/BAT0/cycle_count                    =      6
/sys/class/power_supply/BAT0/energy_full_design             =  48010 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  49570 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  45870 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown (threshold effective)

/sys/class/power_supply/BAT0/charge_start_threshold         =     60 [%]
/sys/class/power_supply/BAT0/charge_stop_threshold          =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

Charge                                                      =   92.5 [%]
Capacity                                                    =  103.2 [%]

:)
 
Wirkt sich TLP auf "Bildschirm sperren nach ..." aus?

Mal so eine Frage zu TLP: Gibt es eine Möglichkeit, à la "tail -f" die Ausgabe von tlp-stat -b dauerhaft anzuzeigen und regelmäßig (jede Sekunde oder so) zu aktualisieren? Ich fände das praktisch, wenn ich den Lade-/Entladevorgang eines Akkus überwachen möchte...
 
Du könntest:
Code:
watch -n 1 tlp-stat
probieren. Hinter tlp-stat natürlich noch eventuelle Parameter.
Nachteil: Es fängt immer oben an, wenn die Aussage sehr lang und der Bildschirm nicht sehr groß ist, bringt es eventuell wenig.
 
@nsteinbach: Features die (unnötig) Akkuladung kosten, werden (normalerweise) nicht eingebaut. Bei tlp discharge/recalibrate steht hingegen das Entladen sowieso im Vordergrund, daher gibt es dort eine laufende Anzeige.
 
Du könntest:
Code:
watch -n 1 tlp-stat
probieren. Hinter tlp-stat natürlich noch eventuelle Parameter.
Nachteil: Es fängt immer oben an, wenn die Aussage sehr lang und der Bildschirm nicht sehr groß ist, bringt es eventuell wenig.

Super, danke - damit funktioniert es!

@nsteinbach: Features die (unnötig) Akkuladung kosten, werden (normalerweise) nicht eingebaut. Bei tlp discharge/recalibrate steht hingegen das Entladen sowieso im Vordergrund, daher gibt es dort eine laufende Anzeige.
Hups, nagut. Ich wollte den Ladevorgang überwachen, d.h. da ist auch genügend Strom verfügbar ;-)
 
Ich würde gern Bluetooth und wwan beim Systemstart auf AC und BAT generell ausschalten.
"Alle Einstellungen von TLP sind zentral in der Konfigurationsdatei /etc/default/tlp zusammengefaßt. "
Bei Cinamon 19.3 ist unter /etc
-eine tlp.conf zu finden,
-desweiteren ein Ordner tlp.d mit einer Datei `00-template.conf.`

Soweit ich das verstanden habe, können per Editor die gewünschten Zeilen in der `tlp.conf` mittels Entfernen der Rauten aktiviert werden und prinzipiell auch Parameter in den Zeilen geändert werden. Die Datei wird an Ihrem Ort editiert und gespeichert und wird somit beim nächsten Start von tlp berücksichtigt.

Oder ist zunächst manuell /etc/default/tlp (siehe oben) anzulegen und die Datei dort zu speichern?
Was ist mit der `00-template.conf` und Drop-in-Anpassungen gemeint?
"Direkte Verwendung der tlp.conf ... überschreibt dieses Verzeichnis... "
Ist die Verwendung der template.conf im tlp-Manual irgendwo erklärt? Dazu habe ich noch nichts finden können!

Danke schon mal !
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben