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:
@li8w8: Powertop ist einfach nur übereifrig -> FAQ

danke =)

mein x60s liegt auf ca 15watt verbrauch:

Szenario:

Musik (audacious)
Firefox12: 3 Tabs (mit autosuspend addon)
1 Terminal (gui) idle
skype, pidgin im Hintergrund, inaktiv.
Helligkeit ist voll.
Intel 6200agn (chinakauf)
vertex2, 60gb
1,5gb ddr2
1,66 dual

ist das dafür angemessen?
 
Finde ich nicht ungewöhnlich. Die 60er Baureihen sind nach meiner Erfahrung leider ziemlich schluckfreudig unter Linux. Wie ist es ohne Hintergrundmusik?

Code:
sudo tlp-stat
würde ich noch gerne sehen.

ps. das FF Addon kannte ich noch gar nicht ... :)
 
Zuletzt bearbeitet:
Alle Messenger+Audacious aus, nur dieser Tab:

13W

irgendwie verdächtig kleiner Unterschied oder?

ps: pcie_aspm, i915 bootoptionen sind gesetzt [wie prüfe ich die Aktiviät?]


Hier mein Tlp-stat output:
--- TLP 0.3.6 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
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
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="1 1"
DISK_IOSCHED="deadline noop cfq"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
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
USB_AUTOSUSPEND=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wwan"
DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"

+++ System Info
System = LENOVO ThinkPad X60s 1702AY2
BIOS = 7BETD7WW (2.18 )
Release = "Mageia 1"
Kernel = 2.6.38.8-desktop586-10.mga i686
/proc/cmdline = BOOT_IMAGE=Mageia root=UUID=f5cd1302-926b-4e48-87df-b330611f0158 splash=silent pcie_aspm=force elevator=deadline i915.i915_enable_rc6=1 vga=788

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

+++ Processor
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 1000000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 1667000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies = 1667000 1333000 1000000 [kHz]

/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq = 1000000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq = 1667000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies = 1667000 1333000 1000000 [kHz]

/proc/sys/kernel/nmi_watchdog = (not available)

+++ Undervolting
PHC kernel not available.

+++ ThinkPad Temperatures
/proc/acpi/ibm/thermal = temperatures: 44 43 -128 41 35 -128 34 -128 36 39 -128 -128 -128 -128 -128 -128
/proc/acpi/ibm/fan = speed: 2979

+++ File System
/proc/sys/vm/laptop_mode = 1
/proc/sys/vm/dirty_writeback_centisecs = 1500
/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)

+++ Storage Devices
/dev/sda:
Model =
Firmware =
APM Level = none/disabled
scheduler = deadline


+++ 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
/sys/class/scsi_host/host3/link_power_management_policy = min_power

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = powersave

+++ Intel Graphics
/sys/module/i915/parameters/powersave = 1
/sys/module/i915/parameters/i915_enable_rc6 = 1
/sys/module/i915/parameters/i915_enable_fbc = (not available)
/sys/module/i915/parameters/lvds_downclock = 0
/sys/module/i915/parameters/semaphores = 1

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

wlan0(iwlagn): power management = on

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

+++ ThinkPad Battery (Main)
/sys/devices/platform/smapi/BAT0/manufacturer = SONY
/sys/devices/platform/smapi/BAT0/model = 42T4633
/sys/devices/platform/smapi/BAT0/manufacture_date = 2009-04-27
/sys/devices/platform/smapi/BAT0/first_use_date = 2009-07-15
/sys/devices/platform/smapi/BAT0/cycle_count = 174
/sys/devices/platform/smapi/BAT0/design_capacity = 74880 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 71640 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 34890 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 49 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = 167 [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = not_charging [min]
/sys/devices/platform/smapi/BAT0/force_discharge = 0
/sys/devices/platform/smapi/BAT0/power_now = -12912 [mW]

/sys/devices/platform/smapi/BAT0/start_charge_thresh = 96 [%]
/sys/devices/platform/smapi/BAT0/stop_charge_thresh = 100 [%]

+++ Runtime Power Management
/sys/bus/pci/devices/0000:00:00.0/power/control = auto [Host]
/sys/bus/pci/devices/0000:00:1b.0/power/control = auto [Audio]
/sys/bus/pci/devices/0000:03:00.0/power/control = auto [Wireless]
/sys/bus/pci/devices/0000:15:00.1/power/control = auto [Firewire]
/sys/bus/pci/devices/0000:15:00.2/power/control = auto [SD]

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

Bus 001 Device 001 ID 1d6b:0001 control = auto, autosuspend_delay_ms = 2000 -- Linux Foundation 1.1 root hub (hub)
Bus 002 Device 001 ID 1d6b:0001 control = auto, autosuspend_delay_ms = 2000 -- Linux Foundation 1.1 root hub (hub)
Bus 003 Device 001 ID 1d6b:0001 control = auto, autosuspend_delay_ms = 2000 -- Linux Foundation 1.1 root hub (hub)
Bus 004 Device 001 ID 1d6b:0001 control = auto, autosuspend_delay_ms = 2000 -- Linux Foundation 1.1 root hub (hub)
Bus 004 Device 002 ID 0483:2016 control = auto, autosuspend_delay_ms = 2000 -- SGS Thomson Microelectronics Fingerprint Reader (no driver)
Bus 005 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 2000 -- Linux Foundation 2.0 root hub (hub)
 
ps: pcie_aspm, i915 bootoptionen sind gesetzt wie prüfe ich die Aktiviät?
Gar nicht :D. Die Bootoptionen kannst Du entfernen. Sie sind mit dem von dir verwendeten Kernel 2.6.38 irrelevant (s. TLP Doku) und würden bei deiner Hardware auch nichts bringen.

ps. wenn Du übrigens die Ausgabe von tlp-stat genau studierst, siehst Du dass rc6 und aspm an sind ... ;)
 
Zuletzt bearbeitet:
Kurze Frage: Gibt es ein TLP Systemd Unit File? Die Ubuntu Version müsste sowas doch haben oder (sehe dort aber auch nur ein Init Skript der "alten" Klasse)? Oder kann man das bei Systemd auch weglassen? Edit: Ach halt, Ubuntu nutzt ja als eine der wenigen Distros Upstart .. ups, übersehen ;)

Grund: Von Sysinit zu Systemd gewechselt...

Solange tuts ein Aufruf des alten Skript via rc.local auch. Edit: Nein das geht doch nicht richtig, siehe unten.
 
Zuletzt bearbeitet:
ubuntu benutst kein systemd, sondern upstart.
iirc soll es laut linrunner auch mit dem normalen init-script funzen.
 
ubuntu benutst kein systemd, sondern upstart.
iirc soll es laut linrunner auch mit dem normalen init-script funzen.

Letzteres hab ich gerade auch gesehen. Aber irgendwas passt nicht, wenn ich es via rc.local aufrufe, bleibt bt usw. an. (das wird standardmäßig deaktiviert bei mir via tlp). Irgendeine Abhängigkeit fehlt da wohl für die Startreihenfolge.
Linrunner, wie hast du damals das "normale" init Skript via Systemd bei deinem Fedora Test genutzt?

Edit: Okay es tut jetzt als Aufruf in rc.local. Fehler war das alte init Skript direkt aufzurufen, das geht wohl mit dem neuen rc.local Mechanismus gernell nicht mehr, stattdessen eben /bin/sh -c oder /bin/bash -c davor und schon tut es. Eigentlich eine ganz tragbare Lösung ;)
Falls jemand Interesse hat: Für eine richtige Systemd Unit muss die Logik aus dem alten Startskript wohl irgendwo in ein Skript in /usr/bin,/bin/,... gegossen werden und dann von der Unit aufgerufen werden. In der Unit selbst sind solche komplexeren Skripte wie in den sysvinit Startskripten nicht vorgesehen (glaube ich zumindest?).
 
Zuletzt bearbeitet:
Die "Lösung" rc.local als Unit zu laden ist ein Workaround.
Alles was in rc.local steht wird nacheinander ausgeführt, und nicht parallel wie die Unit-files.
Wegen den zwei bis drei Befehlen die da normal drin stehen wird man aber keinen Unterschied bemerken.
 
Zuletzt bearbeitet:
@Evilandi666: ich kann mir jetzt gerade nicht vorstellen, dass es keine Möglichkeit gibt, auch bei Anwesenheit von systemd konventionelle Init-Scripte auszuführen zu lassen. Normalerweise ist das immer als Fallback vorhanden.

Ein
Code:
tlp start
reicht definitiv nicht. Das hat eine ganz andere Aufgabe.

Es muss schon beim Systemstart
Code:
/etc/init.d/tlp start
bzw. beim Herunterfahren
Code:
/etc/init.d/tlp stop
sein.

Systemd-Unterstützung kommt mit der nächsten Version von TLP bzw. vorab mit dem Fedora Package ;).
 
14-15 Watt im Idle sind für ein X220 mit Archbang doch sicher ungewöhnlich oder ?

Hab mir am Wochenende Archbang installiert und nur paar kleinere Programme installiert.
TLP ist installiert, Powertop auch.
Und Powertop zeigt mir nen Verbrauch von 14-15 Watt im Idle an ....
Das hatte ich mit Linux Mint als Höchstwert beim Surfen im Netz...

Einer ne Idee was ich falsch mache ?
 
@s1m0n: ich bin unter Ubuntu 12.04 bei 7-8W im Idle. Hast Du an die Bootoption i915.i915_enable_rc6=1 gedacht? Unter Ubuntu wurde der Kernel 3.2 gepatcht. Bei Arch könnte es sein, dass man noch die Bootoption braucht.
 
@s1m0n: ich bin unter Ubuntu 12.04 bei 7-8W im Idle. Hast Du an die Bootoption i915.i915_enable_rc6=1 gedacht? Unter Ubuntu wurde der Kernel 3.2 gepatcht. Bei Arch könnte es sein, dass man noch die Bootoption braucht.

Okay das hat noch gefehlt.
Dachte eig, dass das im Archkernel auch standardmäßig aktiviert ist.
 
Vielleicht liegt es daran, dass der betreffende Patch in Linus' Kernel noch nicht aufgenommen wurde. Sicher weiß ich nur dass Ubuntu 12.04 gepatcht ist.
 
TLP für Fedora

Gute Nachrichten für alle Fedora-User: RomanX hat freundlicherweise Pakete für TLP und akmod-tp_smapi zu Verfügung gestellt :) -> Installationsanleitung.
 
Zuletzt bearbeitet:
Hallo,
irgendwie startet bei mir im aktuellen ubuntu 12.04 update tlp nicht mehr. habt ihr das problem auch??
 
Sorry, aber "irgendwie startet ... nicht mehr" ist keine Fehlerbeschreibung.
 
sorry simmt....also wenn ich sudo "tlp start" eingebe kommt zwar " TLP started in ac mode." aber wenn ich "ps -uax | grep tlp" mache kommt nichts..
aufgefallen ist es mir dadurch, dass der akku nicht mehr bis 93% geladen hat, sondern 100%
 
Zuletzt bearbeitet:
Da kann auch nichts kommen, weil es keinen tlp-Hintergrundprozess gibt und auch noch nie gegeben hat. Wäre es wohl möglich, nur ausnahmsweise versteht sich, die Ausgabe von
Code:
sudo tlp-stat
zu bekommen? :D
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben