ACPI & Power Management – Energie, Gerätezustände und Praxischecks

Inhaltsverzeichnis

ACPI (Advanced Configuration and Power Interface) ist die Standardschnittstelle zwischen Betriebssystem und Hardware für Energie- und Gerätemanagement. Unter Linux steuert ACPI u. a. Suspend/Hibernate, Batteriestatus, Thermik/Lüfter, Netzteilzustand sowie CPU-Energiesparfunktionen. Für Admins ist wichtig: ACPI-Zustände lesen, Probleme erkennen und sinnvoll zwischen Desktop/Laptop vs. Server unterscheiden.

Wichtige Befehle & Optionen (kompakt für Prüfung & Praxis)

acpi – Batterien, Netzteil, Temperatur

Zeigt den ACPI-Status in Mensch-lesbarer Form (besonders nützlich auf Laptops).

acpi             # Gesamter Überblick (Batterie/AC-Adapter/Temperatur, je nach System)
acpi -b          # Nur Batterie-Informationen (b = battery)
acpi -t          # Temperaturen (t = thermal)
acpi -a          # Netzteil/AC-Adapter-Status (a = AC)
acpi -V          # Ausführlicher Überblick (alle bekannten ACPI-Infos)

dmesg – ACPI-Meldungen aus dem Kernel-Log

ACPI-Initialisierung, Fehler und Events im Kernel prüfen (wichtig bei Problemen).

dmesg | grep -i acpi      # ACPI-relevante Kernelmeldungen filtern
dmesg --ctime | grep ACPI  # Lesbare Zeitstempel + Filter
dmesg | tail -n 50         # Neueste Meldungen nach einem Ereignis

sysfs – Status direkt aus dem Kernel lesen

Die robusteste Quelle: strukturierte Werte im /sys-Baum (skriptfreundlich).

cat /sys/class/power_supply/BAT0/status      # "Charging" | "Discharging" | "Full"
cat /sys/class/power_supply/BAT0/capacity    # Prozentwert der Kapazität
cat /sys/class/power_supply/AC/online        # 1 = Netzteil verbunden, 0 = nicht
cat /sys/class/thermal/thermal_zone0/temp    # Temperatur in Milligrad Celsius

CPU-Frequenz- und Energiesteuerung (Überblick)

Je nach Distribution/CPU über Governors steuerbar (Powersave/Performance). Skript- und Monitoring-relevant.

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor   # aktueller Governor
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq   # aktuelle Frequenz (kHz)
# Hinweis: Änderungen erfordern passende Tools/Policy (z. B. cpupower) und Root-Rechte.

Suspend/Hibernate aus Admin-Sicht

Je nach PolicyKit/Logind-Konfiguration:

systemctl suspend     # Arbeitsspeicher in RAM, sehr schneller Resume
systemctl hibernate   # Arbeitsspeicher auf Disk, geringer Energieverbrauch
# Vor produktivem Einsatz: Filesystem-/Swap-/Firmware-Kompatibilität prüfen.

Lerneinheit – Übungsfragen im LPIC-Stil

Frage 1 (Einzelauswahl)
Wofür wird ACPI unter Linux hauptsächlich genutzt?
A) Paketverwaltung
B) Energie- und Gerätemanagement (Suspend, Batterie, Thermik)
C) Dateisystemreparatur
D) Netzwerk-Routing

Frage 2 (Mehrfachauswahl)
Welche acpi-Optionen sind sinnvoll?
A) -b → Batterieinformationen
B) -t → Temperaturinformationen
C) -a → Netzteilstatus
D) -x → Dateisysteme mounten

Frage 3 (Befehlseingabe)
Zeige nur ACPI-Meldungen mit normalen Zeitstempeln aus dem Kernel-Log.

Frage 4 (Einzelauswahl)
Wo findet man die verlässlichsten, skriptfreundlichen Rohwerte zur Batterie?
A) /etc/battery.conf
B) /var/log/acpi.log
C) /sys/class/power_supply/BAT0/
D) /proc/acpi/battery

Frage 5 (Mehrfachauswahl)
Welche Aussagen sind korrekt?
A) systemctl suspend legt den RAM-Inhalt auf Disk ab.
B) systemctl hibernate legt den RAM-Inhalt auf Disk ab.
C) /sys/class/thermal/thermal_zone*/temp liefert Temperaturen in Milligrad.
D) dmesg | grep -i acpi hilft bei der Analyse von Initialisierungsfehlern.

Lösungen & Begründungen

Frage 1: B) Energie- und Gerätemanagement. Genau dafür ist ACPI gedacht (Suspend/Hibernate, Batterie, Thermik, AC-Status).

Frage 2: A), B), C) sind korrekt: -b (battery), -t (thermal), -a (AC). D) ist falsch – -x gibt es nicht und Mounten ist kein ACPI-Feature.

Frage 3 (Musterlösung):

dmesg --ctime | grep -i acpi

Begründung: --ctime macht Zeitstempel lesbar, grep -i acpi filtert ACPI-relevante Meldungen.

Frage 4: C) /sys/class/power_supply/BAT0/. sysfs liefert strukturierte, aktuelle Kernelwerte – ideal für Skripte/Monitoring.

Frage 5: B), C), D) sind korrekt. A) ist falsch: systemctl suspend hält RAM im RAM (S3/Suspend-to-RAM); hibernate schreibt den RAM-Inhalt auf Disk (Suspend-to-Disk).

Mini-Lernkarte

  • acpi: -b Batterie, -t Thermik, -a Netzteil, -V Übersicht
  • Kernel-Log: dmesg --ctime | grep -i acpi
  • sysfs: /sys/class/power_supply/*, /sys/class/thermal/* (skriptfreundlich)
  • Suspend/Hibernate: systemctl suspend vs. systemctl hibernate

Fazit

ACPI ist die Grundlage für Energiemanagement unter Linux. Mit acpi, dmesg und sysfs prüfst du Batterie/Netzteil, Thermik und Ereignisse schnell und skriptbar. Wer die Unterschiede zwischen Suspend/Hibernate kennt und Kernel-Logs sauber lesen kann, löst Praxisprobleme zügig – und erfüllt die LPIC-1-Anforderungen souverän.

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

236 Beiträge
16 Folgende