Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.276
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:
Hallo,

erst einmal besten Dank für das Tool !

Leider bekomme ich es nicht zum laufen. Ein "tlp status" sagt mir immer "tlp stop/waiting". Ein "sudo tlp start" ändert leider nichts am Status.

System: T60p - Ubuntu 10.04 - 2.6.32-26-generic-phc

---------------------------------------------------------------------

# tlp - Parameters for power save

# Hint: some features are disabled by default, remove the leading # to enable them

# Set to 0 to disable/1 to enable TLP
TLP_ENABLE=1

# Seconds laptop mode has to to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2

# Dirty page values (timeouts in secs).
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60

# Change CPU voltages aka "undervolting" - Kernel with PHC patch required
# Freq:voltage pairs are written to /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
# CAUTION: only use this, if you thoroughly understand what you are doing!
PHC_CONTROLS="12:33 10:23 8:4 6:0"

# Hard disk devices, separate multiple devices with spaces (default: sda).
DISK_DEVICES="sda"

# Hard disk advanced power management level: 1(max saving)..254(off)
# Levels 1..127 spin down the disk.
# Separate values for multiple devices "sda sdb" with spaces.
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"

# SATA aggressive link power management (ALPM):
# min_power/medium_power/max_performance
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power

# WiFi power saving mode: 1=disable/5=enable
# (Kernel >= 2.6.32, some adapters only!)
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5

# Disable wake on lan: Y/N
WOL_DISABLE=Y

# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables / >=1 enables power save.
SOUND_POWER_SAVE=1
# Disable controller too (HDA only): Y/N
SOUND_POWER_SAVE_CONTROLLER=Y

# Set to 1 to power off optical drive in UltraBay (ThinkPads only)
# when running on battery. A value of 0 disables this Feature (Default).
# Drive can be powered on again by releasing (and reinserting) the
# eject lever or by pressing the disc eject button on newer models.
# Note: an UltraBay hard disk is never powered off.
BAY_POWEROFF_ON_BAT=0
# Optical drive device to power off (default sr0)
BAY_DEVICE="sr0"

# Set to 0 to disable/1 to enable usb autosuspend feature
USB_AUTOSUSPEND=1

# Devices from the following list are excluded from usb autosuspend
# (separate with spaces). Use lsusb to get the id's.
# Note: input devices (usbhid) are excluded automatically
#USB_BLACKLIST="1111:2222 3333:4444"

# Devices to disable on startup: bluetooth wifi wwan
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"

# Devices to disable on shutdown: bluetooth wifi wwan
# (workaround for devices that are blocking shutdown)
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"

# Battery charge thresholds (ThinkPad only, tp-smapi kernel module required)
# Charging starts when the remaining capacity falls below the START_CHARGE_TRESH
# value and stops when exceeding the STOP_CHARGE_TRESH value.
# Main battery (values in %)
#START_CHARGE_THRESH_BAT0=75
#STOP_CHARGE_THRESH_BAT0=80
# Ultrabay battery (values in %)
#START_CHARGE_THRESH_BAT1=75
#STOP_CHARGE_THRESH_BAT1=80

Besten Dank vorab für Infos
 
Ich habe nun einmal den hier angebotenen TP-Kernel installiert - es ändert leider nichts....

andre@T60p:~$ sudo tlp-stat
--- tlp 0.2.8 --------------------------------------------
System = LENOVO ThinkPad T60p 2007WJ9
BIOS = 79ETE3WW (2.23 )
Release = Ubuntu 10.04.1 LTS
Kernel = 2.6.32-27-generic-tp i686

tlp power save = enabled
power source = battery

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand

/sys/devices/system/cpu/sched_mc_power_savings = (not available)
/sys/devices/system/cpu/sched_smt_power_savings = (not available)

/sys/devices/system/cpu/cpu0/cpufreq/phc_controls = 12:33 10:23 8:4 6:0
/sys/devices/system/cpu/cpu1/cpufreq/phc_controls = 12:33 10:23 8:4 6:0

/proc/acpi/ibm/thermal = temperatures: 41 36 32 61 50 -128 30 -128 35 44 39 -128 -128 -128 -128 -128

/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 = 60
/proc/sys/vm/dirty_background_ratio = 1
/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)

/dev/sda:
Model = MTRON MSD-SATA3525
APM Level = none/disabled

/sys/class/scsi_host/host2/link_power_management_policy = min_power
/sys/class/scsi_host/host3/link_power_management_policy = min_power
/sys/class/scsi_host/host4/link_power_management_policy = min_power
/sys/class/scsi_host/host5/link_power_management_policy = min_power

/sys/module/pcie_aspm/parameters/policy = (not available)

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

wlan0(iwl3945): power management = off (not supported)

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

ThinkPad extended battery info not available (missing tp_smapi kernel module).
/sys/class/power_supply/BAT0/manufacturer = Panasonic
/sys/class/power_supply/BAT0/energy_full_design = 84240 [mWh]
/sys/class/power_supply/BAT0/energy_full = 71440 [mWh]
/sys/class/power_supply/BAT0/energy_now = 26640 [mWh]

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

/sys/bus/usb/devices/5-1/power/autosuspend = 2, level = auto -- 0a5c:2110 BCM2045B (btusb)
/sys/bus/usb/devices/5-2/power/autosuspend = 2, level = auto -- 0483:2016 Biometric Coprocessor (no driver)
/sys/bus/usb/devices/usb1/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller (hub)
/sys/bus/usb/devices/usb2/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb3/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb4/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb5/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
 
Hi,

entspann dich. Der Output von [font='Courier New, Courier, mono']tlp-stat[/font] zeigt, daß TLP bei dir einwandfrei funktioniert. Deine Annahme, man könnte den Status mit [font='Courier New, Courier, mono']status tlp [/font]prüfen, ist nämlich nicht richtig. TLP besteht aus zwei Teilen:
  • Einem (Pseudo-)Dienst (/etc/init/tlp.conf), der jedoch nur beim Systemstart/Shutdown verwendet wird, um ggf. Funkgeräte auszuschalten. Ich führe ihn beim [font='Courier New, Courier, mono']tlp start[/font] absichtlich nicht aus, damit es den Benutzern nicht unverhofft die Internetverbindung wegreißt.
  • Das eigentliche Powermanagement (kein Dienst!), das von pm-utils bei jedem Wechsel der Stromquelle, beim Systemstart und durch [font='Courier New, Courier, mono']tlp start[/font] aufgerufen wird und dessen Ergebnis bzw. Einstellungen man mit [font='Courier New, Courier, mono']tlp-stat[/font] kontrollieren kann.
Was Du allerdings noch machen könntest, ist, die Pakete tp-smapi-dkms (Akkuladeschwellen, mehr Akkuinformationen) und smartmontools (mehr Festplatteninfos) zu installieren.

Den tp-Kernel brauchst Du nur fürs Undervolting.
 
Besten Dank !

Ich habe das System vor Deiner Antwort noch einmal neu aufgesetzt.....nun erscheint folgendes:

andre@T60p:~$ status tlp
tlp start/running

Das sieht ja schon besser aus.

andre@T60p:~$ sudo tlp-stat
--- tlp 0.2.8 --------------------------------------------
System = LENOVO ThinkPad T60p 2007WJ9
BIOS = 79ETE6WW (2.26 )
Release = Ubuntu 10.04.1 LTS
Kernel = 2.6.32-27-generic-tp i686

tlp power save = enabled
power source = battery

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand

/sys/devices/system/cpu/sched_mc_power_savings = (not available)
/sys/devices/system/cpu/sched_smt_power_savings = (not available)

/sys/devices/system/cpu/cpu0/cpufreq/phc_controls = 12:33 10:23 8:4 6:0
/sys/devices/system/cpu/cpu1/cpufreq/phc_controls = 12:33 10:23 8:4 6:0

/proc/acpi/ibm/thermal = temperatures: 42 37 35 62 50 -128 30 -128 36 45 41 -128 -128 -128 -128 -128

/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 = 60
/proc/sys/vm/dirty_background_ratio = 1
/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)

/dev/sda:
Model = MTRON MSD-SATA3525
APM Level = none/disabled

SMART info:

/sys/class/scsi_host/host2/link_power_management_policy = min_power
/sys/class/scsi_host/host3/link_power_management_policy = min_power
/sys/class/scsi_host/host4/link_power_management_policy = min_power
/sys/class/scsi_host/host5/link_power_management_policy = min_power

/sys/module/pcie_aspm/parameters/policy = (not available)

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

wlan0(iwl3945): power management = off (not supported)

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

/sys/devices/platform/smapi/BAT0/manufacturer = Panasonic
/sys/devices/platform/smapi/BAT0/manufacture_date = 2007-09-08
/sys/devices/platform/smapi/BAT0/first_use_date = 2008-08-07
/sys/devices/platform/smapi/BAT0/cycle_count = 142
/sys/devices/platform/smapi/BAT0/design_capacity = 84240 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 71440 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 46660 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 66 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = 153 [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = not_charging [min]

/sys/devices/platform/smapi/BAT0/start_charge_thresh = 75 [%]
/sys/devices/platform/smapi/BAT0/stop_charge_thresh = 80 [%]

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

/sys/bus/usb/devices/5-2/power/autosuspend = 2, level = auto -- 0483:2016 Biometric Coprocessor (no driver)
/sys/bus/usb/devices/usb1/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller (hub)
/sys/bus/usb/devices/usb2/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb3/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb4/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb5/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

sudo powertop:

Cn Verweildauer P-States (Frequenzen)
C0 (Prozessor läuft) ( 0,6%) 2,00 GHz 0,2%
C0 0,0ms ( 0,0%) 1,67 GHz 0,0%
C1 halt 0,0ms ( 0,0%) 1333 MHz 0,0%
C2 0,4ms ( 0,3%) 1000 MHz 99,8%
C3 12,2ms (99,1%)

Aufwachen pro Sekunde : 89,7 Intervall: 3,0s
Stromverbrauch (ACPI-Schätzung): 17,9W (2,5 Std.)

Häufigste Ursachen für das Aufwachen:
22,8% ( 24,7) [Rescheduling interrupts] <kernel IPI>
22,2% ( 24,0) [kernel scheduler] Load balancing tick
18,8% ( 20,3) [ata_piix] <interrupt>
10,5% ( 11,3) [extra timer interrupt]
9,5% ( 10,3) [iwl3945] <interrupt>
4,6% ( 5,0) syndaemon

18 Watt ist aber noch ziemlich viel, woll ?

Gibt es noch eine Chance die Leistungsaufnahme zu reduzieren (ohne abdunkeln des Displays und abschalten des Wlan) ?

Grüße
 
Ich glaub ja nicht, daß da noch viel geht. Mein T60 mit ATI X1400 liegt voll abgedunkelt bei ~15W (Meßbedingungen siehe unten)

Der Knackepunkt bei deinem System ist die Grafik-"Heizung". Zeig mal ob das Powermanagement automatisch an ist:
Code:
cat /sys/module/radeon/parameters/dynclks

Ich würde noch Bluetooth beim Systemstart ausschalten mit
Code:
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
Außerdem das optische Laufwerk im Akkubetrieb mit
Code:
BAY_POWEROFF_ON_BAT=1

Zum Ermitteln des Verbrauchs würde ich der Vergleichbarkeit hier im Forum wegen folgende Randbedingungen vorschlagen:
  • Akkubetrieb
  • leerer Desktop, d.h. keine Anwendungen gestartet
  • WLAN an und verbunden
  • BT+WWAN aus
  • keine USB Geräte angeschlossen
  • keine Plattenaktivität im Hintergrund
  • minimale LCD-Helligkeit
  • Maschine > 5 min nicht anfassen
 
andre@T60p:~$ cat /sys/module/radeon/parameters/dynclks
-1

Danke ! Super Support !

(Bluetooth habe ich über das Bios abgeschaltet)
 
Kommt da wirklich "minus 1" oder ist das ein Irrtum beim Copy&Paste? Eigentlich sollte da "1" kommen, wenn PM an ist.
 
Erstell mal eine Datei /etc/modprobe.de/radeon.conf mit Inhalt
Code:
options radeon dynclks=1
Mach
Code:
sudo update-initramfs -u
und Reboot. Dann zeig nochmal
Code:
cat /sys/module/radeon/parameters/dynclks
 
Ok....jetzt scheint es aktiv zu sein:

andre@T60p:~$ cat /sys/module/radeon/parameters/dynclks
1


Und nun ? ;-)

Danke !
 
Naja....leider ist nun das Powermanagement-Icon in der Taskleiste verschwunden.... :-(

Es handelt sich wohlgemerkt um ein frisch installiertes System ohne "Extras".

Oh man....ich lösche den Eintrag in den Module wohl besser....
 
Hat leider nichts gebracht...... kein Powermanagement mehr.....auch nicht nach initramfs......
 
meinst das batterie-icon?
das bekommst du, wenn du auf system -> einstellungen -> energieverwaltung gehst und dort unter "allgemein" die einstellung zur anzeige des icons änderst.
 
heyho

ich reihe mich mal hier mit ein und muss erstmal sagen!
danke für alles hier rund um den thread, super tool.

leiglich auto disable wwan und bt klappte nicht, da habsch in maverick einfach in den gnome autoistart bluetooth off und eben wwan off mit eingeügt.
seither sind die auch nur an wenn ich se brauche :)
super ;)

ansonst, wollte ich mal nachfragen, wie das mit powermanagement bei dem i7 aussieht und vorallem im zusammenhang mit der integrierten grafik.
ist deren takt an die cpu gebunden?
kann ich den i7 untervolten?

im idle kommsch mit bissl mühe (wlan on, verbunden, wwan off, bt off, leerer desktop, min helligkeit) auf 9 watt im idle, mit 105Wh akku macht das ne statliche betriebszeit ;)
aber ich finde da geht noch was, daher cpu untervolten, gibts da ne chance bei nem i7 640LM ?
 
Danke für das Lob :D .
easteregg' schrieb:
leiglich auto disable wwan und bt klappte nicht, da habsch in maverick einfach in den gnome autoistart bluetooth off und eben wwan off mit eingeügt.
Der Workaround hilft allerdings nur Dir und nicht (potentiell betroffenen) anderen Usern (falls da ein Bug sein sollte). Ich würde das gerne analysieren, falls Du einverstanden bist. Zeig doch bitte zuerst
Code:
egrep -v '^#|^\s*$' /etc/default/tlp
easteregg' schrieb:
wie das mit powermanagement bei dem i7 aussieht und vorallem im zusammenhang mit der integrierten grafik. ist deren takt an die cpu gebunden? kann ich den i7 untervolten?
Undervolting geht beim Core i noch nicht, generell scheint das PM im Kernel den Core i nicht optimal zu unterstützen. Bist Du so nett und machst für die weitere Diskussion einen eigenen Thread "Core i Power Management" auf? Das Thema ist nicht wirklich TLP-bezogen ist, dürfte aber von allgemeinem Interesse sein.
 
huch sry, wieso ich die conf nich gleich angehangen hab ;)

Code:
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=1
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
DISK_DEVICES="sda"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"  
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
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"
USB_AUTOSUSPEND=1
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wwan"
START_CHARGE_THRESH_BAT0=90
STOP_CHARGE_THRESH_BAT0=100
 
waaaah!
wieso haut der zeilenumbrüche immer raus egal was man macht?
blödes wbb...

dann eben als anhang:D
 

Anhänge

Verflixt, der Trace sieht auch OK aus. Kannst Du nochmal deinen Workaround aus dem Autostart rausnehmen und einen neuen Trace machen? Statt Anhang hier ablegen http://paste.ubuntuusers.de Außerdem gleich nach dem Anmelden bitte den Output von
Code:
rfkill list
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben