Power consumption and CPU/GPU temps


#1

what is the average power draw when using the 8 cores and I guess GPU as well as operating temperatures.

I do plan on using a fan but just would like to know power draw when all cores are maxed with limited things connected to USB ports etc and regular HDMI etc.


#2

It all depends, lies, damned lies & benchmarks etc. :slight_smile:

I am running room temperature 18 Centigrade at the moment on a VIM2 Max that I have just a passive heatsink on the CPU.

$ uname -a
Linux dukla 4.9.40 #2 SMP PREEMPT Wed Sep 20 10:03:20 CST 2017 aarch64 aarch64 aarch64 GNU/Linux
chris@dukla:~/bin/Pi3$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 17.10
Release:	17.10
Codename:	artful

I ran an old script I had lying around from RPi days (source at the bottom of this post) that loaded all 8 CPUs 100% for about 15 minutes, together with some IO. The max temp I observed was 76 C, I never observed any throttling (I use gkrellm as a realtime monitor). I have a Brennehstuhl monitor on my AC wall output: at idle the power usage is too low to register (power to 1/100W, current to 1/100A) at 238VAC. Under load while running the script I read 9.52W, 0.04A, 238V

First below is final output from the script:

writing: 9
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 2.4971 s, 215 MB/s
writing: 10
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 2.60761 s, 206 MB/s
./octest.sh: line 17: 19107 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19109 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19111 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19113 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19115 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19117 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19119 Terminated              nice yes > /dev/null
./octest.sh: line 17: 19121 Terminated              nice yes > /dev/null
CPU freq: 1512000
CPU temp: 73000
[176695.357241] x5 : 0000007f41f63f20 x4 : 0000000000000001 
[176695.357252] x3 : 00000000e3ffac30 x2 : 0000000000000000 
[176695.357262] x1 : 0000007f9a2e4700 x0 : 0000000134cff6f8 

[177266.141747] hid-generic 0005:04E8:7021.0010: unknown main item tag 0x0
[177266.143254] input: Bluetooth 3.0 Keyboard as /devices/platform/c11084c0.serial/tty/ttyS1/hci0/hci0:12/0005:04E8:7021.0010/input/input18
[177266.144166] hid-generic 0005:04E8:7021.0010: input: BLUETOOTH HID v1.1b Keyboard [Bluetooth 3.0 Keyboard] on b0:f1:ec:a3:ae:71
[178328.758611] hid-generic 0005:04E8:7021.0011: unknown main item tag 0x0
[178328.760040] input: Bluetooth 3.0 Keyboard as /devices/platform/c11084c0.serial/tty/ttyS1/hci0/hci0:12/0005:04E8:7021.0011/input/input19
[178328.763655] hid-generic 0005:04E8:7021.0011: input: BLUETOOTH HID v1.1b Keyboard [Bluetooth 3.0 Keyboard] on b0:f1:ec:a3:ae:71
Not crashed yet, probably stable.

And now the script itself:

#!/bin/bash
#Simple stress test for system. If it survives this, it's probably stable.
#Free software, GPL2+

echo "Testing overclock stability..."

#Max out all CPU cores. Heats it up, loads the power-supply. 
for ((i=0; i<$(nproc --all); i++)); do nice yes >/dev/null & done

#Read the entire SD card 10x. Tests RAM and I/O
for i in `seq 1 1`; do echo reading: $i; sudo dd if=/dev/mmcblk0 of=/dev/null bs=4M; done

#Writes 512 MB test file, 10x.
for i in `seq 1 10`; do echo writing: $i; dd if=/dev/zero of=deleteme.dat bs=1M count=512; sync; done

#Clean up
killall yes
rm deleteme.dat

#Print summary. Anything nasty will appear in dmesg.
echo -n "CPU freq: " ; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
echo -n "CPU temp: " ; cat /sys/class/thermal/thermal_zone0/temp
dmesg | tail 

echo "Not crashed yet, probably stable."