나는 전력 소비를 줄이는 것에 관한 수많은 기사를 읽었지만 그것이 내가 여기 있는 이유가 아닙니다.
장비를 연중무휴 24시간 가동하는 데 드는 비용을 추정할 수 있도록 일일 또는 시간별 전기 사용량 통계를 얻고 싶습니다.
어떻게 해야 하나요? ?
정확한 값은 필요하지 않으며 적절한 추정치를 받아들일 수 있습니다.
조사해 보았지만 powertop
올바르게 /sys/class/powercap/*/energy_uj
읽고 있는지 모르겠습니다. 예를 들면 다음과 같습니다.
Powertop에서는 60초의 샘플링에 351J를 사용한다고 말합니다.
$ 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
다들 감사 해요!