Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.273
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:
@buergernb: weder noch. TLP fasst beim Suspend/Resume den Schaltzustand von Bluetooth und Wifi nicht an, da der Kernel dafür zu sorgen hat – und das normal auch tut. Es gibt deshalb auch keine TLP-Einstellung dafür.

Ich würde mal den Kernel auf den aktuellen Stand 3.13.0-35(!) bringen; in der Mint-Standard-Konfiguration unterbleibt das ja leider :rolleyes:.
 
Hi linrunner,

okay, danke. Ist ja auch logisch. Die Parameter beziehen sich ja auf einen Systemstart und das Herunterfahren. zu deinem Tipp:

Schalte ich level 4 und 5 in der Aktualisierungsverwaltung (mintUpdate) frei, bekomme ich nur die Version 3.13.0-24 installiert. Das reicht scheinbar noch nicht aus, denn der Fehler besteht noch. Dann muss ich wohl manuell nachhelfen.
 
Dann muss ich wohl manuell nachhelfen.
Code:
sudo apt-get install linux-generic
und ihn ruhig dabei das Mint-eigene Metapaket, das auf der Updateleitung steht, entsorgen lassen ...

ps. es geht auch irgendwie anders in der GUI, indem man jeden Kernel einzeln abnickt oder so.

ps2. was yatpu meint ist übrigens das Blueman Applet. Das könnte auch die Ursache sein. Ich kenne es aber nur aus dem XFCE-Desktop.
 
Zuletzt bearbeitet:
Hi linrunner,

hat funktioniert. Danke.
Code:
+++ System Info
System         = LENOVO ThinkPad Z61t        
BIOS           = 7FETA7WW (2.25 )
Release        = Linux Mint 17 Qiana
Kernel         = 3.13.0-35-generic i686
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic root=UUID=9c51fb70-f3bf-4e26-9c5c-f4f3dbfa131f ro quiet splash vt.handoff=7

Jetzt teste ich das mal. Ansonsten kann ich ja auch noch das Bluetooth-Applet raus schmeißen.

EDIT: Jetzt funktioniert nur der Patch für die Helligkeitsstufen nicht mehr, obwohl der Patch noch in der rc.local steht. Sind aber wieder nur 4 statt 7 Stufen.
EDIT 2: Nach einem Neustart ist das Problem kein Problem mehr. :)
 
Zuletzt bearbeitet:
Hi,
mir ist da gerade mal was aufgefallen. Ladeschwellen zu setzen klappte auf meinem T440s auch ohne tpacpi-bat. Hin und wieder wurden die ignoriert, was aber auch unter Windows (bei anderen Modellen) durchaus mal vorkam. (Mir fällt das nur auf, da fullcharge einen Error lieferte)

Und noch etwas:
Code:
# Set to 1 to disable use of tpacpi-bat on Sandy Bridge or newer Thinkpads
# and force usage of tp-smapi instead
DISABLE_TPACPIBAT=0
Wieso sollte man das deaktivieren, wenn doch tp_smapi nicht funktioniert? Finde ich unglücklich formuliert.
Auf deiner Homepage steht das verständlicher:
Hint: do not use this option with Ivy Bridge models (X230, T430 et al.) where tpacpi-bat is mandatory because tp-smapi does not work.
 
Ladeschwellen zu setzen klappte auf meinem T440s auch ohne tpacpi-bat.
Das ist schlicht unmöglich, sofern nicht plötzlich tp-smapi das T440s unterstützt oder die Schwellen unter Windows gesetzt wurden. Wie wäre es mit der Ausgabe von
Code:
tlp-stat
bei deinstalliertem acpi-call? Dir ist auch bewusst, dass TLP ein eigenes tpacpi-bat mitbringt?

DISABLE_TPACPIBAT fliegt mit 0.6 raus. War nur eine Übergangslösung zu Zeiten als tpacpi-bat noch ein neues, kaum bekanntes Wesen war.
 
Aus dem Gedächtnis: tp_smapi und tpacpi_call: inactiv (tlp-stat -b). Zusätzlich war noch DISABLE_TPACPIBAT=1 gesetzt (wie gesagt, Formulierung missverständlich :P)

Dir ist auch bewusst, dass TLP ein eigenes tpacpi-bat mitbringt?
Nein. Ich habe nur gesehen, dass beide Module inaktiv waren. Da alles ging, was ich bis dahin benutzt habe, hab ich nicht weiter drüber nachgedacht.
Ich sehe aber gerade, dass ich acpi_call-git 20131017-1 installiert habe...
 
@.Sun: aus dem Gedächtnis glaub ich schon mal gar nix :D. Sobald Du harte Fakten zu präsentieren hast, können wir hier gerne fortfahren.

Ich sehe aber gerade, dass ich acpi_call-git 20131017-1 installiert habe...
acpi-call wird ja auch gebraucht und die Version ist völlig latte, solange das Modul für den jeweiligen Kernel kompiliert. Es gibt jedoch ein Arch-Paket tpacpi-bat – das wird weder von TLP gebraucht noch genutzt.

ps. das "offiziell richtige" acpi-call Paket für TLP ist hier erwähnt --> https://www.archlinux.org/packages/?name=acpi_call
 
Zuletzt bearbeitet:
Da stand definitiv inactiv bei beiden Modulen, acpi-call-git war jedoch installiert. Ist ja auch egal...

Ich sehe aber gerade, dass mein tp fast 1W zu viel schluckt. Powertop zeigt keine Auffälligkeiten :confused:
Bisher Idle, Displayhelligkeit 0 (minimal, nicht aus), Wlan aus ~3W, jetzt etwa 4,1W.

Code:
[root@t440s sun]# tlp stat 
--- TLP 0.5 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=ondemand
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
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=0
USB_AUTOSUSPEND=0
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=1
START_CHARGE_THRESH_BAT0=90
STOP_CHARGE_THRESH_BAT0=95
START_CHARGE_THRESH_BAT1=90
STOP_CHARGE_THRESH_BAT1=95
DISABLE_TPACPIBAT=0
DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi"
DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi"

+++ System Info
System         = LENOVO ThinkPad T440s 20AQS00600
BIOS           = GJET75WW (2.25 )
Kernel         = 3.16.2-1-ARCH x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-linux root=UUID=c1ab960e-eced-4799-bba7-cd060c509303 rw cryptdevice=/dev/sda3:home lang=de locale=de_DE.UTF-8 ipv6.disable=1 elevator=noop "acpi_osi=!Windows 2012"

+++ System Status
TLP power save = enabled
power source   = battery

+++ Processor
CPU Model      = Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  2600000 [kHz]

/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq  =  2600000 [kHz]

/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq  =  2600000 [kHz]

/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq  =  2600000 [kHz]

/sys/devices/system/cpu/intel_pstate/no_turbo          = 1
/proc/sys/kernel/nmi_watchdog                          = 0

+++ Undervolting
PHC kernel not available.

+++ Temperatures
/proc/acpi/ibm/fan     =     0 [/min]

+++ File System
/proc/sys/vm/laptop_mode               =     2
/proc/sys/vm/dirty_writeback_centisecs =  6000
/proc/sys/vm/dirty_expire_centisecs    =  6000
/proc/sys/vm/dirty_ratio               =    20
/proc/sys/vm/dirty_background_ratio    =    10
/proc/sys/fs/xfs/age_buffer_centisecs  = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs    = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs     = (not available)

+++ Storage Devices
/dev/sda:
          Model     = SAMSUNG SSD 830 Series                  
          Firmware  = CXM03B1Q
          APM Level = none/disabled
          Status    = active/idle
          TRIM      = supported
          scheduler = noop

        SMART info:
            5 Reallocated_Sector_Ct     =        0 
            9 Power_On_Hours            =     5607 [h]
          177 Wear_Leveling_Count       =       98 [%]
          179 Used_Rsvd_Blk_Cnt_Tot     =        0 
          190 Airflow_Temperature_Cel   =       32 [°C]
          241 Total_LBAs_Written        =    3.012 [TB]


+++ SATA Aggressive Link Power Management
/sys/class/scsi_host/host0/link_power_management_policy  = min_power
/sys/class/scsi_host/host1/link_power_management_policy  = min_power
/sys/class/scsi_host/host2/link_power_management_policy  = min_power

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = default (using bios preferences)

+++ Intel Graphics
/sys/module/i915/parameters/powersave        =  1 (enabled)
/sys/module/i915/parameters/i915_enable_rc6  = (not available)
/sys/module/i915/parameters/i915_enable_fbc  = (not available)
/sys/module/i915/parameters/lvds_downclock   =  0 (disabled)
/sys/module/i915/parameters/semaphores       = -1 (use per-chip default)

+++ Wireless
bluetooth = none (no device)
wifi      = on
wwan      = none (no device)

wlp3s0(iwlwifi): power management = on

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save            = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

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

+++ ThinkPad Battery Status (Main)
/sys/class/power_supply/BAT0/manufacturer                   = SONY
/sys/class/power_supply/BAT0/model_name                     = 45N1111
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  23200 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  22970 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  22940 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown

tpacpi-bat.BAT0.startThreshold                              =     90 [%]
tpacpi-bat.BAT0.stopThreshold                               =     95 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

+++ ThinkPad Battery Status (Ultrabay/Slice)
/sys/class/power_supply/BAT1/manufacturer                   = LGC
/sys/class/power_supply/BAT1/model_name                     = 45N1127
/sys/class/power_supply/BAT1/cycle_count                    = (not supported)
/sys/class/power_supply/BAT1/energy_full_design             =  23480 [mWh]
/sys/class/power_supply/BAT1/energy_full                    =  23470 [mWh]
/sys/class/power_supply/BAT1/energy_now                     =  13710 [mWh]
/sys/class/power_supply/BAT1/power_now                      =   5544 [mW]
/sys/class/power_supply/BAT1/status                         = Discharging

tpacpi-bat.BAT1.startThreshold                              =     90 [%]
tpacpi-bat.BAT1.stopThreshold                               =     95 [%]
tpacpi-bat.BAT1.forceDischarge                              =      0

+++ Runtime Power Management
/sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000 Host bridge)
/sys/bus/pci/devices/0000:00:02.0/power/control = on   (0x030000 VGA compatible controller)
/sys/bus/pci/devices/0000:00:03.0/power/control = auto (0x040300 Audio device)
/sys/bus/pci/devices/0000:00:14.0/power/control = on   (0x0c0330 USB controller)
/sys/bus/pci/devices/0000:00:16.0/power/control = on   (0x078000 Communication controller)
/sys/bus/pci/devices/0000:00:19.0/power/control = auto (0x020000 Ethernet controller)
/sys/bus/pci/devices/0000:00:1b.0/power/control = auto (0x040300 Audio device)
/sys/bus/pci/devices/0000:00:1c.0/power/control = on   (0x060400 PCI bridge)
/sys/bus/pci/devices/0000:00:1c.1/power/control = on   (0x060400 PCI bridge)
/sys/bus/pci/devices/0000:00:1d.0/power/control = on   (0x0c0320 USB controller)
/sys/bus/pci/devices/0000:00:1f.0/power/control = on   (0x060100 ISA bridge)
/sys/bus/pci/devices/0000:00:1f.2/power/control = on   (0x010601 SATA controller)
/sys/bus/pci/devices/0000:00:1f.3/power/control = on   (0x0c0500 SMBus)
/sys/bus/pci/devices/0000:02:00.0/power/control = on   (0xff0000 Unassigned class [ff00])
/sys/bus/pci/devices/0000:03:00.0/power/control = auto (0x028000 Network controller)

+++ USB
tlp usb autosuspend = not enabled
tlp usb blacklist   = (not configured)

Bus 001 Device 002 ID 8087:8000 control = auto, autosuspend_delay_ms =     0 -- Intel Corp.  (hub)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)
Bus 003 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 3.0 root hub (hub)
Bus 002 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)
 
Zuletzt bearbeitet:
Hallo,

Kann man einen Intel X9000 (mit freiem Multiplikator) unter Debian Wheezy (7.6) und TLP bei dieser Option übertakten?
(Mir ist bewusst, dass ohne Anhebung der Spannung, nicht viel mehr als 3Ghz drin sein werden.)

Code:
CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=ondemand

# Set the min/max frequency available for the scaling governor.
# Possible values strongly depend on your cpu. For available frequencies see
# tlp-stat output, Section "+++ Processor".
# Hint: Parameters are disabled by default, remove the leading # to enable them,
#       otherwise kernel default values are used.
#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

Vielen Dank für Antworten :)
 
@Deriell: ich wüsste nicht mal wie man unter Linux übertaktet. Also kann meine Antwort nur lauten: TLP kann das nicht.
 
Wenn man z.B. eine 2.4Ghz CPU verbaut hat, kann man mit TLP sagen, ich möchte nur 1.6Ghz und 2Ghz Frequenzen haben, also über den Multiplikator? Wenn ja, dann sollte das mMn beim X9000 auch gehen, der hat einen freien Multiplikator.
 
@simpel: hast Du schon mal TLP wieder deinstalliert und geschaut ob die Symptome bleiben? Bitte zuerst probieren, ich hatte in letzter Zeit gehäuft Fälle, wo TLP gar nicht die Ursache war und die Leute einfach als allererstes TLP installiert haben ...

Beim WLAN würde ich Powersave am Akku deaktivieren mittels Konfiguration:
Code:
WIFI_PWR_ON_BAT=1

Zum Thema Bluetooth hab ich momentan keine Idee, da in den Ausgaben kein Bluetooth-Device zu sehen ist.
 
Zuletzt bearbeitet:
ich hatte TLP deinstalliert und dann ging es - zwischenzeitlich ist TLP wieder installiert.

in tlp-stat ist wlan und bluetooth auch on.

P.S.
tlp-stat ab Zeile 116:
+++ Wireless
bluetooth = on
wifi = on
 
Zuletzt bearbeitet:
Sorry, ich meinte übrigens
Code:
WIFI_PWR_ON_BAT=1
(hab mich beim Cut&Paste vertan)

tlp-stat ab Zeile 116:
Das ist der Schaltzustand. Ich sehe aber keinen Verdächtigen bei den PCI-Devices und bei USB ist auch nichts dabei wo man ansetzen könnte.
 
Moin Moin!

Erstmal ein großes Lob an dich für das Tool! Eine kurze Frage habe ich nun. Gibt es soetwas wie einen Indicator für die Taskleiste, mit dem der aktuelle Batterieladestand und solche Dinge angezeigt werden können? Und wie verhält es sich mit so Dingen wie dem automatischen Bildschirmschoner und solchen Späßen? Ich habe gerade Mint 17 am laufen mit der xfce Oberfläche und hatte vorher ja das xfce Energietool. Das habe ich nun deaktiviert, damit sich TLP und das Tool nicht in die Quere kommen. Nur fehlen mir nun die schönen Einstellungsmöglichkeiten. Oder können die Tools nebeneinander laufen?

Beste Grüße
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben