Возвращаемое значение текущего ваттного расхода в командной строке


26

Есть ли способ вернуть текущее потребление энергии в командной строке? Я узнал о программе powertop, но не нашел способа вернуть потребление ватт в качестве значения в командную строку. Я думаю о каком-то файле, который я могу catили grep.


Ответы:


22

В моей системе я могу получить питание от батареи от

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

На Thinkpads, если tp_smapiмодуль загружен, файл

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

Похоже, что значение в мкВт. Вы можете конвертировать его любым удобным для вас инструментом, например awk:

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

Если вы не можете найти местоположение в файловой системе sysfs, вы можете найти его:

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

Кроме того, пакет lm-sensorsможет использоваться для определения энергопотребления системы на некоторых машинах:

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

7

Мой ноутбук не имеет ни одного из них (в настоящее время он также не имеет батареи), но у него есть устройство "powercap".
Похоже, это устройство может устанавливать ограничения на мощность пользователя.

И он (естественно) может читать информацию о силе, чтобы обеспечить их соблюдение.
Энергопотребление можно найти в energy_ujфайле, то есть:

cat /sys/class/powercap/*/energy_uj

Он покажет лекцию (или лекции, если у вас много устройств powercap) в микроджоулях. На самом деле это счетчик потребляемой энергии, поэтому вам нужно разделить ее на дельту времени, чтобы получить энергию.

Это сила, потребляемая моим ноутбуком, или его часть? Я не знаю.


Ну, эти устройства довольно распространены на новых компьютерах ... Во всех моих тестах, по крайней мере, одно из них показало реалистичное значение энергопотребления с очень хорошей точностью. Я должен проверить с мультиметром, все же.
Альба Мендес

Это кажется довольно хорошим решением. Откуда вы берете дельту времени?
Freefri

@ Свободно, вы прочитали значение, подождите 1 секунду, прочитайте значение еще раз. 1 секунда - это ваша дельта. (Energy_now-Energy_one_second_ago) / 1 секунда = джоулей, потребляемых в секунду (или ватт, 1 ватт = 1 джоулей / 1 секунда)
ГДР

6

На ноутбуке, читая данные ACPI из procfs или sysfs. На моей системе файлы:

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

Обратите внимание, что sysfs сильно символизирован, поэтому существует множество способов получить доступ к файлу. power_nowэто имя файла, который вы ищете.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.