命令行返回当前瓦特消耗值

命令行返回当前瓦特消耗值

有没有办法在命令行上返回当前的瓦特消耗?我已经找到了 powertop 程序,但还没有找到将瓦特消耗作为值返回到命令行的方法。我正在考虑一些我可以catgrep.

答案1

在我的系统上,我可以从电池获取电力

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

在 ThinkPad 上,如果tp_smapi模块已加载,则文件

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

不过,该值似乎以 µW 为单位。您可以使用任何您喜欢的工具对其进行转换,例如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)

答案2

我的笔记本电脑没有这些(目前也没有电池),但它确实有一个“powercap”设备。
看来这个装置能够对用户的电量进行限制。

它(自然)可以读取功耗以强制执行它们。
功耗可以在energy_uj文件中找到,即:

cat /sys/class/powercap/*/energy_uj

它将以微焦耳为单位显示讲座(或多个讲座,如果您有许多 powercap 设备)。这实际上是一个柜台所消耗的能量,因此您需要将其除以时间增量才能获得功率。

这是我的笔记本电脑消耗的电量,还是其中的一部分?我不知道。

答案3

sudo tlp-stat -b

它将显示当前的功耗(以毫瓦为单位)。

--- TLP 1.1 --------------------------------------------

+++ Battery Status
/sys/class/power_supply/BAT1/manufacturer                   = SANYO
/sys/class/power_supply/BAT1/model_name                     = L12S3F01
/sys/class/power_supply/BAT1/cycle_count                    =     16
/sys/class/power_supply/BAT1/energy_full_design             =  32560 [mWh]
/sys/class/power_supply/BAT1/energy_full                    =  16180 [mWh]
/sys/class/power_supply/BAT1/energy_now                     =  16090 [mWh]
/sys/class/power_supply/BAT1/power_now                      =      0 [mW]
/sys/class/power_supply/BAT1/status                         = Unknown

Charge                                                      =   99.4 [%]
Capacity                                                    =   49.7 [%]

答案4

对于非电池驱动的机器尝试- 它显示每个已识别设备在最后毫秒(通常为 1 秒;N、M 是整数)cat /sys/class/hwmon/hwmonN/device/powerM_average内的平均功耗(以 mW为单位)。/sys/class/hwmon/hwmonN/device/powerM_average_interval在现代双插槽服务器上,通常 N = {0..2},每个 CPU 包都有一个监视器,所有 PSU 一起有一个监视器(检查powerM_oem_info)。您可能需要加载acpi_power_meter内核模块才能获取相关信息。

相关内容