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:
mit deinen obigen Befehlen aufgeräumt habe ich. Danke :)
Aber "linux-tools" kann ich nicht alleine installieren:
Code:
 sudo apt-get install linux-tools
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Paket linux-tools ist ein virtuelles Paket, das bereitgestellt wird von:
  linux-tools-virtual-lts-vivid 3.19.0.18.5
  linux-tools-virtual-lts-utopic 3.16.0.38.30
  linux-tools-virtual 3.13.0.53.60
  linux-tools-lowlatency-lts-vivid 3.19.0.18.5
  linux-tools-lowlatency-lts-utopic 3.16.0.38.30
  linux-tools-lowlatency 3.13.0.53.60
  linux-tools-generic-lts-vivid 3.19.0.18.5
  linux-tools-generic-lts-utopic 3.16.0.38.30
  linux-tools-generic-lts-trusty 3.13.0.53.60
  linux-tools-generic-lts-saucy 3.13.0.53.60
  linux-tools-generic 3.13.0.53.60
Sie sollten eines explizit zum Installieren auswählen.


E: Für Paket »linux-tools« existiert kein Installationskandidat.
 
Dann nimm linux-tools-virtual-lts-utopic (passend zum Kernel 3.16).
 
Sollte ich auf einem X230 unter Ubuntu 15.04 alle vier Pakete tlp, tlp-rdw, tp-smapi-dkms, acpi-call-dkms installieren oder brauche ich die nicht alle?

Wofür genau braucht man tlp-rdw? Unter "Radio Device Wizard" kann ich mir nur bedingt etwas vorstellen... Was macht das Ding konkret in der Praxis?
Ersetzt acpi-call-dkms das Paket tp-smapi-dkms oder benötigt man das zusätzlich?

Danke! :)
 
Der Radio-Device-Manager macht das gleiche Ergebnis als wenn du im Networkmanager über die Buttons die einzelnen Funkmodule (Wifi, WWAN und BT) de oder aktivierst. Ist sozusagen Fingerbeschäftigung für die Komandozeilenfetischisten. Ist ganz brauchbar wenn du über die Config Datei die einzelnen Funkmodule schon am Systemstart deaktiviert hast und die aber trotzdem mal brauchst.
 
Wofür genau braucht man tlp-rdw? Unter "Radio Device Wizard" kann ich mir nur bedingt etwas vorstellen... Was macht das Ding konkret in der Praxis?
Siehe die Doku zu den Einstellungen.
Ersetzt acpi-call-dkms das Paket tp-smapi-dkms oder benötigt man das zusätzlich?
Für dein X230 wird nur acpi-call-dkms benötigt, tp-smapi-dkms nicht.

@sigur: deine Charakterisierung trifft nicht den Punkt. Einmal konfigurieren (s. Link) und gut.
 
Zuletzt bearbeitet:
D.h. wenn man sowieso kein WWAN hat und die ON_LAN, ON_WIFI, ON_DOCK und ON_UNDOCK Events nicht für Automatisierungen braucht, dann könnte man tlp-rdw auch weglassen, ohne dass dann für den regulären Betrieb von tlp etwas fehlt? Oder sollte man es trotzdem lieber (mit)installieren?
Das Wichtigste für mich ist, dass BT beim Starten nicht generell aktiv ist, sondern sich den letzten Zustand merkt (oder nach dem Booten immer deaktiviert ist), was beim aktuellen Ubuntu ohnehin der Fall zu sein scheint.


Gibt es denn auch eine Möglichkeit, dass "Deckel zuklappen" in der Dock ignoriert wird, außerhalb der Dock aber zum Standby führt?

Danke!
 
D.h. wenn man sowieso kein WWAN hat und die ON_LAN, ON_WIFI, ON_DOCK und ON_UNDOCK Events nicht für Automatisierungen braucht, dann könnte man tlp-rdw auch weglassen, ohne dass dann für den regulären Betrieb von tlp etwas fehlt? Oder sollte man es trotzdem lieber (mit)installieren?
Ich würde tlp-rdw dennoch installiert lassen. Vielleicht möchtest Du doch irgendwann mal eine der Einstellungen verwenden und wunderst dich dann, daß sie nicht funktioniert. Das separate Paket gibt es nur, damit man die restliche Funktionalität auch dann nutzen kann, wenn kein Network Manager installiert ist.

Das Wichtigste für mich ist, dass BT beim Starten nicht generell aktiv ist
Dafür solltest Du am Besten in der TLP-Konfiguration
Code:
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
setzen.

Gibt es denn auch eine Möglichkeit, dass "Deckel zuklappen" in der Dock ignoriert wird, außerhalb der Dock aber zum Standby führt?
Ja die gibt es, allerdings nicht in TLP, sondern in den Einstellungen deines Desktops Environments. Das wäre wegen OT hier aber eher ein Thema für deinen eigenen Linux-Thread.
 
Hallo,

sitze seit heute an einem neuen Asus Zenbook UX305: FullHD-Display, Core-M-Prozessor etc. Linux läuft vom Stick soweit ganz gut, nur macht mir der Stromverbrauch noch etwas Sorge: Bei mittlerer Helligkeit und aktivem WLAN komme ich laut PowerTop auf 5-6 Watt und ca. 7 Stunden Laufzeit – da sollte eigentlich mehr gehen. Die CPU krebst auch dauernd auf 1,5-2Ghz herum, was gefühlt nicht der Fall sein sollte. TLP ist installiert und läuft, Governor steht auf Powersave. Geht da noch mehr oder habe ich damit das Maximum herausgeholt? Hätte eigentlich mit ~10 Stunden gerechnet, nach derzeitigem Stand komme ich jedoch nur auf knapp 7.

Grüße
 
Hallo linrunner,

anbei die Ausgabe von tlp-stat. Wie gesagt, neues ux305 mit Core M unter Ubuntu Gnome 15.04 als Live-Sitzung mit allen Aktualisierungen. Hab eben auch den Verbrauch unter Windows gemessen: laut Joulemeter verbraucht der Rechner dort nur 4,1W und die CPU taktet mit genau 0,8Ghz. In der aktuellen Sitzung liegt der Verbrauch laut PowerTop bei recht ca. 5W bzw. leicht darunter. Schon deutlich besser, aber immer noch rund 20 Prozent Differenz. Die CPU taktet jetzt auch unter 1Ghz, kommt aber nicht auf die 0,8 wie unter Windows.

Code:
ubuntu-gnome@ubuntu-gnome:~$ sudo tlp-stat
--- TLP 0.7 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
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
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=powersave
DISK_DEVICES="sda sdb"
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
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=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=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=1
RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
USB_AUTOSUSPEND=1
USB_DRIVER_BLACKLIST="usbhid"
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0

+++ System Info
System         = ASUSTeK COMPUTER INC. 1.0 UX305FA
BIOS           = UX305FA.204
Release        = Ubuntu 15.04
Kernel         = 3.19.0-15-generic x86_64
/proc/cmdline  = BOOT_IMAGE=/casper/vmlinuz.efi file=/cdrom/preseed/ubuntu-gnome.seed boot=casper quiet splash ---
Init system    = systemd

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

+++ Processor
CPU Model      = Intel(R) Processor 5Y10 CPU @ 0.80GHz

/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  =   500000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  2000000 [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  =   500000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq  =  2000000 [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  =   500000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq  =  2000000 [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  =   500000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq  =  2000000 [kHz]

/sys/devices/system/cpu/intel_pstate/min_perf_pct      = 25
/sys/devices/system/cpu/intel_pstate/max_perf_pct      = 100
/sys/devices/system/cpu/intel_pstate/no_turbo          = 0

x86_energy_perf_policy: program for your kernel not installed.

/proc/sys/kernel/nmi_watchdog                          = 0

+++ Undervolting
PHC kernel not available.

+++ Temperatures
CPU temp               =    44 [°C]
Fan speed              = (not available)

+++ 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     = SanDisk SD7SN3Q128G1002                 
          Firmware  = X2170002
          APM Level = 128
          Status    = idle
          TRIM      = supported
          Scheduler = deadline

        SMART info:
            5 Reallocated_Sector_Ct     =        1 
            9 Power_On_Hours            =        7 [h]
          194 Temperature_Celsius       =       45 (Min/Max 25/46)  [°C]
          232 Available_Reservd_Space   =      100 [%]
          233 Media_Wearout_Indicator   =      100 [%]
          241 Total_LBAs_Written        =    0.000 [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

+++ 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/enable_rc6       =  1 (enabled)
/sys/module/i915/parameters/enable_fbc       = -1 (use per-chip default)
/sys/module/i915/parameters/lvds_downclock   =  0 (disabled)
/sys/module/i915/parameters/semaphores       = -1 (use per-chip default)

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

hci0(btusb)         : not connected
wlan0(iwlwifi)      : connected, power management = on

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

+++ Runtime Power Management
device classes   = all
device blacklist = (not configured)
driver blacklist = radeon nouveau

/sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:00:03.0/power/control = auto (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:00:04.0/power/control = auto (0x118000, Signal processing controller, proc_thermal)
/sys/bus/pci/devices/0000:00:14.0/power/control = auto (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:00:16.0/power/control = auto (0x078000, Communication controller, mei_me)
/sys/bus/pci/devices/0000:00:1b.0/power/control = auto (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:00:1c.0/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.3/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1f.0/power/control = auto (0x060100, ISA bridge, lpc_ich)
/sys/bus/pci/devices/0000:00:1f.2/power/control = auto (0x010601, SATA controller, ahci)
/sys/bus/pci/devices/0000:00:1f.3/power/control = auto (0x0c0500, SMBus, no driver)
/sys/bus/pci/devices/0000:00:1f.6/power/control = auto (0x118000, Signal processing controller, no driver)
/sys/bus/pci/devices/0000:02:00.0/power/control = auto (0x028000, Network controller, iwlwifi)

+++ USB
autosuspend        = enabled
device whitelist   = (not configured)
device blacklist   = (not configured)
driver blacklist   = usbhid
wwan blacklist     = enabled (cdc_acm cdc_wdm cdc_ether hso qcserial sierra)

Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 3.0 root hub (hub)
Bus 001 Device 004 ID 064e:9700 control = auto, autosuspend_delay_ms =  2000 -- Suyin Corp.  (uvcvideo)
Bus 001 Device 003 ID 8087:0a2a control = auto, autosuspend_delay_ms =  2000 -- Intel Corp.  (btusb)
Bus 001 Device 002 ID 2146:0165 control = auto, autosuspend_delay_ms =  2000 -- <unknown> (usb-storage)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)

+++ Battery Status
/sys/class/power_supply/BAT0/manufacturer                   = ASUSTeK
/sys/class/power_supply/BAT0/model_name                     = ASUS Battery
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  45030 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  44688 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  41416 [mWh]
/sys/class/power_supply/BAT0/power_now                      =   5392 [mW]
/sys/class/power_supply/BAT0/status                         = Discharging
 
@PC: ich glaube nicht, daß eine Installation, die vom USB-Stick läuft, genauso sparsam wie eine Festinstallation ist. Sind das echt gelaufene Stunden oder die "Märchenanzeige" im Panel?

Kernel 3.19.0-15 ist nicht aktuell -> -18.
x86_energy_perf_policy: program for your kernel not installed.
Installiere noch das Paket linux-tools-virtual.
 
Zuletzt bearbeitet:
Lag wohl wirklich nur am Live-Medium. Nachdem das System nun auf der Platte liegt, läuft alles einwandfrei und der Verbrauch ist nochmal ein Stück gesunken. Zuvor lies sich auch keine aktueller Kernel aufspielen, warum auch immer, jetzt läuft 3.19.0-18. Vielen Danke für die schnelle Hilfe!
 
Ja, den Kernel auf einem Live-USB-Stick austauschen ist eine haarige Sache und so mit das einzige, was man eben nicht live mal eben machen kann. Wenn ich mich richtig erinnere, geht es zwar, aber eben nicht einfach so wie beim normalen installieren eines Kernels.
 
Stimmt, sorry, gar nicht mehr geschrieben. Ja das habe ich installiert. Muss ich noch irgendwas testen oder kann ich sehen, ob nun alles geklappt hat? Mein apt-get funktionierte ja immerhin nach dem "Ausmisten" schon wieder.
 
@cuco: sobald Du den 3.19 bootest, sollte tlp-stat -p das auswerfen:
x86_energy_perf_policy.cpuX = powersave
oder am Netzteil performance.

ps. bei den neuesten linux-tools-Paketen (Version -20) scheint der Konflikt, der das ursprüngliche Problem verursacht hat, behoben zu sein.
 
Zuletzt bearbeitet:
HiHo,
ich habe ein suspend-Problem und erbitte Hilfe und Einsicht.
Installiert ist ein Debian "jessie" 8.1

die "tlp-stat"-Ausgabe:

+++ System Status
TLP power save = enabled
***Warning: tlp.service is not enabled -- invoke "systemctl enable tlp.service" to correct this!
***Warning: tlp-sleep.service is not enabled -- invoke "systemctl enable tlp-sleep.service" to correct this!
power source = ac


zeigt mir einen Fehler, den ich nicht zu entschärfen vermag.

Das Problem liegt an, wenn ich das Konto sperre, den Deckel des X201 schließe und nach meiner Erledigung den Deckel wieder öffne, um mich per PW-Eingabe wieder anzumelden. Im Eingabefeld blinkt kein Cursor und es erfolgt auch keine nachvollziehbare Texteingabe.
Wo ist Wurm im System?


EDIT:

:facepalm: pebkac

Ich hatte das tlp-Wheezy noch in der sources.list, anstatt tlp-jessie.
Ein Update führte schon zum Erfolg.
 
Zuletzt bearbeitet:
@Arminius: meiner bescheidenen Meinung nach sind das eher zwei verschiedene Probleme.

Wenn beim Suspend/Resume TLPs Skripte nicht laufen, weil ein falsches Paket installiert war
***Warning: tlp.service is not enabled -- invoke "systemctl enable tlp.service" to correct this!
***Warning: tlp-sleep.service is not enabled -- invoke "systemctl enable tlp-sleep.service" to correct this!
dann stört das tendenziell den Resume eher nicht
Das Problem liegt an, wenn ich das Konto sperre, den Deckel des X201 schließe und nach meiner Erledigung den Deckel wieder öffne, um mich per PW-Eingabe wieder anzumelden. Im Eingabefeld blinkt kein Cursor und es erfolgt auch keine nachvollziehbare Texteingabe.
Falls das Problem beim Resume also nochmal auftaucht (aber nur dann bitte), dann blackliste mal die Graka fürs Runtime PM:
Code:
RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau [B]i915[/B]"
(hat mir ein Arch-User mit X220 gemeldet)
 
Jessie verwendet soweit ich weiß noch den uralten (höhö) 3.16er, oder? Das Problem, das ich mit dem Suspend hatte, trat erst bei 4.0.3 oder so auf (und Hinweise darauf findet man allgemein erst ab 3.19). Außerdem betraf es den Suspend (der ging nicht beim Zuklappen, aber manuell), nicht den Resume. Insofern eher nicht zu vergleichen.

Den Wurm sollte man besser in dmesg suchen. Aber da es jetzt geht, dürfte es auch egal sein.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben