每小时或每天的耗电量或平均耗电量

每小时或每天的耗电量或平均耗电量

我读过无数关于降低功耗的文章,但这不是我来这里的原因。

我希望获得每日或每小时的用电量统计数据,以便我可以估算保持设备 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

谢谢大家!

相关内容