有没有办法在命令行上返回当前的瓦特消耗?我发现了 powertop 程序,但还没有看到将瓦特消耗作为值返回到命令行的方法。我在想一些我可以的文件cat或grep.
Mar*_*rco 25
在我的系统上,我可以从电池中获取电力
cat /sys/class/power_supply/BAT0/power_now
9616000
Run Code Online (Sandbox Code Playgroud)
在 Thinkpad 上,如果tp_smapi模块已加载,则文件为
cat /sys/devices/platform/smapi/BAT0/power_now
Run Code Online (Sandbox Code Playgroud)
不过,该值似乎以 µW 为单位。您可以使用任何您熟悉的工具对其进行转换,例如awk:
awk '{print $1*10^-6 " W"}' /sys/class/power_supply/BAT0/power_now
9.616 W
Run Code Online (Sandbox Code Playgroud)
如果您在 sysfs 文件系统中找不到该位置,您可以搜索它:
find /sys -type f -name power_now 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
此外,该包lm-sensors可用于确定某些机器上的系统电源使用情况:
# sensors power_meter-acpi-0
power_meter-acpi-0
Adapter: ACPI interface
power1: 339.00 W (interval = 1.00 s)
Run Code Online (Sandbox Code Playgroud)
小智 9
我的笔记本电脑没有这些(目前也没有电池),但它有一个“powercap”设备。
这个设备似乎能够对用户功率进行限制。
并且它(自然地)可以读取功率消耗以强制执行它们。
功率消耗可以在energy_uj文件中找到,即:
cat /sys/class/powercap/*/energy_uj
Run Code Online (Sandbox Code Playgroud)
它将以微焦耳显示讲座(或讲座,如果您有许多 powercap 设备)。这实际上是消耗能量的计数器,因此您需要将其除以时间增量才能获得功率。
这是我的笔记本电脑汲取的能量,还是它的一部分?我不知道。
在笔记本电脑上通过从 procfs 或 sysfs 读取 ACPI 数据。在我的系统上,文件是:
/proc/acpi/battery/BAT0/state
/sys/bus/acpi/drivers/battery/PNP0C0A:00/power_supply/BAT0/power_now
Run Code Online (Sandbox Code Playgroud)
请注意,sysfs 是大量符号链接的,因此有很多方法可以访问该文件。power_now是您要查找的文件名。
sudo tlp-stat -b
Run Code Online (Sandbox Code Playgroud)
它将以毫瓦为单位显示当前的功耗。
--- 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 [%]
Run Code Online (Sandbox Code Playgroud)