Rückgabewert des aktuellen Wattverbrauchs in der Befehlszeile

26

Gibt es eine Möglichkeit, den aktuellen Wattverbrauch in der Befehlszeile zurückzugeben? Ich habe etwas über das Powertop-Programm herausgefunden, aber keine Möglichkeit gefunden, den Wattverbrauch als Wert an die Befehlszeile zurückzugeben. Ich denke an eine Datei, die ich kann catoder grep.

Bitte lösche mich
quelle

Antworten:

22

Auf meinem System kann ich den Strom aus dem Akku beziehen

cat /sys/class/power_supply/BAT0/power_now
9616000

Auf Thinkpads tp_smapilautet die Datei, wenn das Modul geladen ist

cat /sys/devices/platform/smapi/BAT0/power_now

Der Wert scheint jedoch in µW zu sein. Sie können es mit jedem Tool konvertieren, mit dem Sie vertraut sind, zB awk:

awk '{print $1*10^-6 " W"}' /sys/class/power_supply/BAT0/power_now
9.616 W

Falls Sie den Speicherort im sysfs-Dateisystem nicht finden können, können Sie danach suchen:

find /sys -type f -name power_now 2>/dev/null

Darüber hinaus kann das Paket lm-sensorsverwendet werden, um den Energieverbrauch des Systems auf einigen Computern zu bestimmen:

# sensors power_meter-acpi-0
power_meter-acpi-0
Adapter: ACPI interface
power1:      339.00 W  (interval =   1.00 s)
Marco
quelle
7

Mein Laptop hat keines davon (es hat auch keinen Akku), aber es hat ein "Powercap" -Gerät.
Es scheint, dass dieses Gerät Einschränkungen für die Benutzerleistung festlegen kann.

Und es kann (natürlich) den Stromverbrauch ablesen, um sie durchzusetzen.
Die Leistungsaufnahme finden Sie in der energy_ujDatei, dh:

cat /sys/class/powercap/*/energy_uj

Es zeigt die Vorlesung (oder Vorlesungen, wenn Sie viele Powercap-Geräte haben) in Mikro-Joule. Dies ist eigentlich ein Zähler für den Energieverbrauch. Sie müssen ihn also durch ein Zeitdelta dividieren, um die Leistung zu erhalten.

Ist das der Strom, den mein Laptop verbraucht, oder nur ein Teil davon? Ich weiß es nicht.

Alba Mendez
quelle
Nun, diese Geräte sind auf neuen Computern ziemlich verbreitet ... Bei allen meinen Tests zeigt mindestens eines einen realistischen Stromverbrauchswert mit sehr guter Präzision. Ich sollte allerdings mit einem Multimeter testen.
Alba Mendez
Dies scheint eine ziemlich gute Lösung zu sein. Woher nimmst du das Zeitdelta?
Freefri
@Freefri Sie lesen den Wert, warten Sie 1 Sekunde, lesen Sie den Wert erneut. 1 Sekunde ist dein Delta. (Energy_now-Energy_one_second_ago) / 1 Sekunde = Joule verbraucht pro Sekunde (oder Watt, 1 Watt = 1 Joule / 1 Sekunde)
DDR
6

Auf einem Laptop durch Lesen der ACPI-Daten von procfs oder sysfs. Auf meinem System sind die Dateien:

/proc/acpi/battery/BAT0/state
/sys/bus/acpi/drivers/battery/PNP0C0A:00/power_supply/BAT0/power_now

Beachten Sie, dass sysfs stark symbolisiert ist, sodass es viele Möglichkeiten gibt, auf die Datei zuzugreifen. power_nowist der gesuchte Dateiname.

peterph
quelle