Restituisce il valore del consumo di watt corrente sulla riga di comando


Risposte:


22

Sul mio sistema posso ottenere l'energia assorbita dalla batteria da

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

Sui Thinkpad se il tp_smapimodulo è caricato, il file è

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

Tuttavia, il valore sembra essere in µW. Puoi convertirlo con qualsiasi strumento tu abbia dimestichezza, ad esempio awk:

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

Nel caso in cui non sia possibile trovare la posizione all'interno del file system sysfs, è possibile cercarla:

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

Inoltre, il pacchetto lm-sensorspuò essere utilizzato per determinare l'utilizzo di energia del sistema su alcuni computer:

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

7

Il mio laptop non ha nessuno di questi (al momento non ha batteria), ma ha un dispositivo "powercap".
Sembra che questo dispositivo sia in grado di impostare restrizioni sulla potenza dell'utente.

E (naturalmente) può leggere l'assorbimento di potenza per farli rispettare.
L'assorbimento di potenza si trova nel energy_ujfile, ovvero:

cat /sys/class/powercap/*/energy_uj

Mostrerà la lezione (o lezioni, se hai molti dispositivi powercap) in micro-Joule. Questo è in realtà un contatore dell'energia consumata, quindi è necessario dividerlo per un delta di tempo per ottenere il potere.

È questa la potenza assorbita dal mio laptop o solo una parte di esso? Non lo so.


Bene, questi dispositivi sono abbastanza comuni sui nuovi computer ... In tutti i miei test, almeno uno di essi mostra un valore realistico di assorbimento di potenza con una precisione molto buona. Dovrei testare con un multimetro, però.
Alba Mendez,

Questa sembra una soluzione molto carina. Da dove prendi il delta del tempo?
Freefri,

@Freefri leggi il valore, attendi 1 secondo, leggi di nuovo il valore. 1 secondo è il tuo delta. (Energy_now-Energy_one_second_ago) / 1 secondo = joule consumati al secondo (o watt, 1 watt = 1 joule / 1 secondo)
RDT

6

Su un laptop leggendo i dati ACPI da procfs o sysfs. Sul mio sistema i file sono:

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

Si noti che sysfs è fortemente collegato in modo simbolico, quindi ci sono molti modi per raggiungere il file. power_nowè il nome del file che stai cercando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.