我读过无数关于降低功耗的文章,但这不是我来这里的原因。
我希望获得每日或每小时的用电量统计数据,以便我可以估算保持设备 24/7 运行的成本。
我怎么做??
我不需要确切的值,我可以接受一个好的估计。
我已经研究过powertop
和/sys/class/powercap/*/energy_uj
,但我不知道我是否正确地阅读了这些内容,例如:
powertop 说我使用 351J 进行 60 秒的采样:
$ powertop -t 60 -C powertop.csv ; cat powertop.csv | grep 'The power consumed was'
modprobe cpufreq_stats failedLoaded 65 prior measurements
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask d
RAPL device for cpu 0
RAPL Using PowerCap Sysfs : Domain Mask d
Devfreq not enabled
glob returned GLOB_ABORTED
Preparing to take measurements
To show power estimates do 250 measurement(s) connected to battery only
Taking 1 measurement(s) for a duration of 60 second(s) each.
the port is sda
PowerTOP outputing using base filename powertop.csv
The power consumed was : 351 J;
对于相同的 60 秒间隔,所有 energy_uj 文件给出完全不同的值:
$ v0=$(cat /sys/class/powercap/intel-rapl\:0/energy_uj); \
v00=$(cat /sys/class/powercap/intel-rapl\:0\:0/energy_uj); \
v01=$(cat /sys/class/powercap/intel-rapl\:0\:1/energy_uj); \
sleep 60; \
v1=$(cat /sys/class/powercap/intel-rapl\:0/energy_uj); \
v10=$(cat /sys/class/powercap/intel-rapl\:0\:0/energy_uj); \
v11=$(cat /sys/class/powercap/intel-rapl\:0\:1/energy_uj); \
echo "(($v1 - $v0) + ($v10 - $v00) + ($v11 -$v01)) / 1000000" | bc -l
132.10661700000000000000
谢谢大家!