Pi3 Configuration, Overclocking, Stability Testing & Cooling


8 posts
by Rive » Wed Apr 13, 2016 7:05 pm
The Pi3 has been pushed to it's manufacturing limitations, and it runs hot. With the Pi3, if you are expecting to get any kind of performance out of it, you are gonna need to set up some kind of cooling.

SoC hot!!!
Image
Raspberry Pi 3 Thermal Photography
The BCM2837 system-on-chip (SoC) in the Raspberry Pi 3 gets far, far hotter than its predecessors. If you're planning to put the Pi 3 in a case, you're going to need to invest in a heatsink and make sure there's at least some ventilation

Source

Using my Pi3 as a test subject, for determining optimal cooling capabilities, optimization via overclocking, and running bench tests on that optimized Pi, I figured I would show it off firstly....

Screen Blanking and Lock Screen:
First thing i did though, was disable that annoying screen blanking. I set the Monitor to turn off, and go into power save mode when I wanted it to, and to use a keyboard shortcut to ScreenLock via Light-Locker. For more info, and Instructions on how to disable screen blanking, and enable screen locking (xscreensaver sucks), see: https://www.raspberrypi.org/forums/view ... 60#p961360

My Pi3 desktop (I am partial to the Windows layout and "Start" buttons, and i like to switch between visual themes...I have three themes, Raspbian, Kali, and Veil) If you are gonna turn the Pi3 into an overclocked Desktop PC, make it look awesome! Right?

(If you want to customize and modify/change your look, or theme, see: https://www.raspberrypi.org/forums/view ... 08#p969008)

Image

KALI
Image

VEIL
Image

Raspbian
Image

The easiest way I have found is get an oversized heatsink, and fan.... Cpuburn-a53 is designed to heat up the pi3, and I can run it with ease overclocked @ 1.3 Ghz, and thermals never exceed 50C. I can run Stress at 38C, Sysbench at 37C, and Idle at 26C... Whether you are overclocked or not, If you have an overheating issue, this is how to resolve it.

EDIT
1.3 GHz overclock failed on Linpack, so arm overclock reduced to a more stable 1.26 GHz.



The heatsink pictured below is custom machined for me by a friend (I have two of them), and is made of anodized aluminum. The outside dimensions are L.87" x W.96" x H.70", and the centered 'socket' on the bottom is L.66" x W.66" and .010" deep.

Image
Image

You may be able to order custom sized Aluminum heatsinks, for example:
https://store-ddfcc.mybigcommerce.com/c ... 0sehsi41h1

The cooling fan is 12v 70mm x 70mm x 10mm, and sells pretty much everywhere for around $4 - $7 or so. It runs quietly on the GPIO 5V rail.

The case is the "official" pi3 case, which runs $8. (fan itself is removable, and is held in place with Velcro-like fasteners. An 18 pack of Scotch 3M reclosable fasteners runs like $4)

Is the 12v fan quiet? Does it efficiently cool the pi3?
https://youtu.be/0bso6ucTuH8


Fan Push or Pull, which is better??? :?
see: https://www.raspberrypi.org/forums/view ... 40#p963540

Overclocked "Hot Rod Pi3 Extreme"
Image

Under the hood:
Image

Image

Stable Overclock (utilizing the below tests):

(add to /boot/config.txt above 'gpu_mem=') ;)
Code: Select all
dtparam=sd_overclock=100
arm_freq=1260
core_freq=500
over_voltage=4
sdram_freq=575
sdram_schmoo=0x02000020
over_voltage_sdram_p=6
over_voltage_sdram_i=4
over_voltage_sdram_c=4
v3d_freq=500
h264_freq=333


GPU memory is set to 192 (gpu_mem=192) which seems to provide the best performance if using the pi3 as a desktop with monitor.


If you want to test your pi3:

Why should you care if your overclock is stable, or not?
Unstable overclocks can eventually lead to premature hardware failure, malfunctions, crashes and data loss, as well as sdcard corruption.

If your Pi3 should freeze up, or otherwise become unresponsive during tests, DO NOT remove power, instead reboot with 'alt'+"sysrq"+"b" ('sysrq' is also known as 'prtscr' key). Hard reboots (where you unplug power, then plug it back in again) can result in data corruption!

Two things before you start, make sure you have the proper power supply, and some kind of cooling capability... fan and/or heatsink (preferably both).

Power supply for Pi3 (power draw when idle): Source
5.19 V 1.141 W
0.22 A 00006 mAh

Get yourself the official Pi3 power supply (5.1V 2.5A), or the 5.25V 2.4A power supply

////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

TOP (hit '1' to see all cores with loads):
Code: Select all
top


SDBENCH:
(test the hdpharm and read/write performance of your hc-1/uhs-1 micro sdcard). Average is 50 MHz 20 MB/s Read; 12 MB/s Write, or with sd_overclock 100 MHz 40 MB/s Read; 20 MB/s Write.
open, and 'select all':
http://www.nmacleod.com/public/sdbench.sh

then:
Code: Select all
sudo nano sdbench.sh

...and paste the text in, then save with Ctrl-X, Y, Enter.

Make it executable with...
Code: Select all
sudo chmod +x sdbench.sh

Then run:
Code: Select all
sudo ./sdbench.sh



MEMTESTER: (set "gpu_mem=" to 64 prior to run, and reboot after install)
(test your sdram, battery of tests will indicate pass/fail results. you want 'pass' across the board for 5 sequential loops. set 'gpu_mem' to 48 prior to test for optimal results)
Code: Select all
sudo apt-get memtester

Run:
Code: Select all
memtester 700m 5


SYSBENCH:
(basic cpu performance benchmark. prime number cruncher (up to 20000) with validation)
average stock Pi3 benchmark total time is 119.4716 seconds (faster is better).

Code: Select all
sudo apt-get install sysbench

Run:
Code: Select all
sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 --validate run


STRESS: (15 min test run)
(puts a near "real world" full CPU load on pi. If you throttle on this, do not attempt cpuburn-a53 as you are inadequately cooled
Code: Select all
sudo apt-get install stress

Run:
Code: Select all
while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900s


CPUBURN-A53: !!Run cpuburn-a53 with caution if your pi3 insufficiently cooled!!
(Test is "PASSED" if you do not throttle back, or exceed 79C within a 15min span. Exceeding 79C, and overheating/throttling, OR Pi3 crash indicates a "FAIL". Will also verify whether your power supply is adequate or not). A properly cooled pi3 can run this between 50C-79C.
Code: Select all
wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S

Run:
Code: Select all
while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& ./cpuburn-a53


LINPACK Bench: (set "gpu_mem=" to 64 prior to run, and reboot after install)
(tests stability, performs computations, if you overclock, and it is flawed, test will fail or crash. set 'gpu_mem" to 48 prior to test for optimal results). Stock Pi3 at 1.2 GHz passes this at 6 Gflops (may require a small voltage boost in /config.txt "over_voltage=1"), a stable overclocked Pi3 at 1.26 GHz passes at around 6.6 Gflops (multiple back to back tests with same Gflop result to determine stability).
Code: Select all
sudo apt-get install libmpich-dev
wget http://web.eece.maine.edu/~vweaver/junk/pi3_hpl.tar.gz
tar -xvzf pi3_hpl.tar.gz
chmod +x xhpl

Run:
Code: Select all
./xhpl


BENCH AND TEST RESULTS:

Image


Ambient 20C:

Sysbench 37C 114.4567s
Code: Select all
pi@raspberrypi:~ $ while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 --validate run
[1] 1239
frequency(45)=1260002000
temp=30.0'C
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4
Additional request validation enabled.


Doing CPU performance benchmark

Threads started!
frequency(45)=1260000000
temp=35.4'C
frequency(45)=1260000000
temp=35.4'C
frequency(45)=1260002000
temp=36.5'C
frequency(45)=1260000000
temp=36.5'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          114.4567s
    total number of events:              10000
    total time taken by event execution: 457.7026
    per-request statistics:
         min:                                 45.42ms
         avg:                                 45.77ms
         max:                                 90.88ms
         approx.  95 percentile:              46.32ms

Threads fairness:
    events (avg/stddev):           2500.0000/12.25
    execution time (avg/stddev):   114.4256/0.02


Linpack Passed Gflops 6.6
Code: Select all
pi@raspberrypi:~ $ ./xhpl
================================================================================
HPLinpack 2.1  --  High-Performance Linpack benchmark  --   October 26, 2012
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :    8000
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :       1
PFACT  :    Left
NBMIN  :       2
NDIV   :       2
RFACT  :   Right
BCAST  :   2ring
DEPTH  :       0
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR02R2L2        8000   256     1     1              51.27              6.660e+00
HPL_pdgesv() start time Sun Apr 24 09:13:21 2016

HPL_pdgesv() end time   Sun Apr 24 09:14:12 2016

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0025941 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================
pi@raspberrypi:~ $ ./xhpl
================================================================================
HPLinpack 2.1  --  High-Performance Linpack benchmark  --   October 26, 2012
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :    8000
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :       1
PFACT  :    Left
NBMIN  :       2
NDIV   :       2
RFACT  :   Right
BCAST  :   2ring
DEPTH  :       0
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR02R2L2        8000   256     1     1              51.47              6.634e+00
HPL_pdgesv() start time Sun Apr 24 09:14:53 2016

HPL_pdgesv() end time   Sun Apr 24 09:15:44 2016

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0025941 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.
================================================================================
pi@raspberrypi:~ $ ./xhpl
================================================================================
HPLinpack 2.1  --  High-Performance Linpack benchmark  --   October 26, 2012
Written by A. Petitet and R. Clint Whaley,  Innovative Computing Laboratory, UTK
Modified by Piotr Luszczek, Innovative Computing Laboratory, UTK
Modified by Julien Langou, University of Colorado Denver
================================================================================

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :    8000
NB     :     256
PMAP   : Row-major process mapping
P      :       1
Q      :       1
PFACT  :    Left
NBMIN  :       2
NDIV   :       2
RFACT  :   Right
BCAST  :   2ring
DEPTH  :       0
SWAP   : Mix (threshold = 64)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR02R2L2        8000   256     1     1              51.69              6.605e+00
HPL_pdgesv() start time Sun Apr 24 09:16:14 2016

HPL_pdgesv() end time   Sun Apr 24 09:17:06 2016

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0025941 ...... PASSED
================================================================================

Finished      1 tests with the following results:
              1 tests completed and passed residual checks,
              0 tests completed and failed residual checks,
              0 tests skipped because of illegal input values.
--------------------------------------------------------------------------------

End of Tests.


Stress 38C
Code: Select all
pi@raspberrypi:~ $ while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress --cpu 4
[1] 2333
stress: info: [2334] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
frequency(45)=1260132000
temp=30.0'C
frequency(45)=1260000000
temp=34.9'C
frequency(45)=1260002000
temp=35.4'C
frequency(45)=1260000000
temp=36.5'C
frequency(45)=1260000000
temp=36.5'C
frequency(45)=1260000000
temp=37.0'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=38.1'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=38.1'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260002000
temp=38.6'C
frequency(45)=1260000000
temp=38.1'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.0'C
frequency(45)=1260002000
temp=38.1'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=38.1'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260002000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260002000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.0'C
frequency(45)=1260000000
temp=37.0'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=38.1'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260002000
temp=38.1'C
frequency(45)=1260000000
temp=38.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=37.6'C
frequency(45)=1259998000
temp=37.6'C
frequency(45)=1260000000
temp=38.1'C



Cpuburn-a53 50C
Code: Select all
pi@raspberrypi:~ $ while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& ./cpuburn-a53
[1] 1244
frequency(45)=1260132000
temp=27.9'C
frequency(45)=1260002000
temp=41.9'C
frequency(45)=1260000000
temp=42.9'C
frequency(45)=1260002000
temp=45.1'C
frequency(45)=1260000000
temp=46.2'C
frequency(45)=1260000000
temp=46.2'C
frequency(45)=1260000000
temp=46.2'C
frequency(45)=1260000000
temp=46.7'C
frequency(45)=1260000000
temp=46.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260002000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1259998000
temp=47.2'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260002000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1259998000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260002000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1259998000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1259998000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260002000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260002000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1259998000
temp=48.9'C
frequency(45)=1260002000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1259998000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1259998000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260002000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260002000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260002000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260002000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260002000
temp=49.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260002000
temp=50.5'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1259998000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1259998000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.2'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260002000
temp=47.2'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=47.8'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260002000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260002000
temp=49.4'C
frequency(45)=1260002000
temp=49.4'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1259998000
temp=49.4'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=48.3'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260002000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260002000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1259998000
temp=49.9'C
frequency(45)=1259998000
temp=49.9'C
frequency(45)=1260002000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260002000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=50.5'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=48.9'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.4'C
frequency(45)=1260000000
temp=49.9'C
frequency(45)=1260000000
temp=49.9'C


Top
Code: Select all
top - 16:23:07 up 34 min,  1 user,  load average: 5.05, 5.61, 5.16
Tasks: 144 total,   5 running, 139 sleeping,   0 stopped,   0 zombie
%Cpu0  : 99.0 us,  1.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 98.7 us,  1.0 sy,  0.3 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  : 99.3 us,  0.7 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    948012 total,   834380 used,   113632 free,    36644 buffers
KiB Swap:   102396 total,        0 used,   102396 free.   533068 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 1112 pi        20   0    1680    340    284 R  99.0  0.0  25:26.65 cpuburn-a53
 1116 pi        20   0    1680     88     16 R  98.3  0.0  25:25.70 cpuburn-a53
 1114 pi        20   0    1680     84     16 R  97.0  0.0  25:27.84 cpuburn-a53
 1115 pi        20   0    1680     84     16 R  94.0  0.0  25:22.16 cpuburn-a53
 2026 pi        20   0  628616 144016 102956 S   3.6 15.2   2:01.88 chromium-b+
  656 root      20   0  120868  45204  19560 S   2.6  4.8   0:58.07 Xorg       
 2251 pi        20   0  376288 113548  78804 S   2.0 12.0   0:24.44 chromium-b+
  882 pi        20   0   90292  23252  19640 S   1.3  2.5   0:18.04 lxpanel     
 1019 pi        20   0   47152  19028  16080 S   1.0  2.0   0:05.88 lxterminal 
  877 pi        20   0   21012  12028   9416 S   0.3  1.3   0:03.06 openbox     
 1110 pi        20   0    5112   2524   2148 R   0.3  0.3   0:07.52 top         
 2506 root      20   0       0      0      0 S   0.3  0.0   0:00.01 kworker/2:2
    1 root      20   0   22884   4028   2788 S   0.0  0.4   0:06.79 systemd     
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd   


Sdbench
Code: Select all
pi@raspberrypi:~ $ sudo ./sdbench.sh

CONFIG:
CLOCK : 100.000 MHz
CORE  : 500 MHz, turbo=1
DATA  : 512 MB, /root/test.dat

HDPARM:
======
 Timing O_DIRECT disk reads: 126 MB in  3.01 seconds =  41.86 MB/sec
 Timing O_DIRECT disk reads: 124 MB in  3.03 seconds =  40.89 MB/sec
 Timing O_DIRECT disk reads: 122 MB in  3.02 seconds =  40.40 MB/sec

WRITE:
=====
536870912 bytes (537 MB) copied, 25.5738 s, 21.0 MB/s
536870912 bytes (537 MB) copied, 22.3328 s, 24.0 MB/s
536870912 bytes (537 MB) copied, 23.7269 s, 22.6 MB/s

READ:
====
536870912 bytes (537 MB) copied, 12.8048 s, 41.9 MB/s
536870912 bytes (537 MB) copied, 12.3227 s, 43.6 MB/s
536870912 bytes (537 MB) copied, 12.3561 s, 43.4 MB/s

RESULT (AVG):
============
Overlay config                      core_freq   turbo   overclock_50    WRITE        READ        HDPARM
                                       500        1     100.000 MHz   21.51 MB/s   40.99 MB/s   41.06 MB/s


Memtester
(example of 1 loop)
Code: Select all
pi@raspberrypi:~ $ memtester 700m 1
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 700MB (734003200 bytes)
got  700MB (734003200 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         
  8-bit Writes        : ok
  16-bit Writes       : ok

Done.
Last edited by Rive on Sun May 15, 2016 12:28 pm, edited 186 times in total.
DNPNWO
User avatar
Posts: 586
Joined: Sat Mar 26, 2016 5:21 pm
Location: USA
by pxgator » Wed Apr 13, 2016 7:19 pm
@Rive
Cool!!...(pun intended)...now we know what a hot rod extreme pi looks like.
P.S. I sent you another pm
So what's all this RPi stuff anyhow? Well folks, it's a feat of engineering from
the UK almost as remarkable as the De Havilland Mosquito and the Colossus.
Posts: 107
Joined: Mon Feb 16, 2015 6:45 pm
Location: Southern Colorado, USA
by Rive » Wed Apr 13, 2016 7:28 pm
pxgator wrote:@Rive
Cool!!...(pun intended)...now we know what a hot rod extreme pi looks like.
P.S. I sent you another pm


lol...I am gonna use that ;)
DNPNWO
User avatar
Posts: 586
Joined: Sat Mar 26, 2016 5:21 pm
Location: USA
by Rive » Mon Apr 25, 2016 4:37 am
Updated with how to install and run the following benchmarks and tests to check stability, cooling, and performance of the Pi3, and how to disable screen blanking, and configure and enable lock screen options using light-locker.

LIGHT-LOCKER
SDBENCH
SYSBENCH
STRESS
CPUBURN-A53
LINPACK
MEMTESTER
DNPNWO
User avatar
Posts: 586
Joined: Sat Mar 26, 2016 5:21 pm
Location: USA
by loadbang » Thu Apr 28, 2016 1:32 pm
Building a BOM for heatsink and fans for UK based people.

http://cpc.farnell.com/aavid-thermalloy ... dp/SC10762

23x23mm, a lot larger than 15x15mm of the CPU, will it fit fine?

http://cpc.farnell.com/ebm-papst/252-2n ... 0000009759

12v, it will fit, but pricey. Also worry the inrush current may be too much to use the 5V header on the Pi.

Thoughts? Any other good sources to buy HS&F?
Posts: 34
Joined: Mon Aug 13, 2012 4:56 pm
by Rive » Thu Apr 28, 2016 1:40 pm
loadbang wrote:Building a BOM for heatsink and fans for UK based people.

http://cpc.farnell.com/aavid-thermalloy ... dp/SC10762

23x23mm, a lot larger than 15x15mm of the CPU, will it fit fine?

http://cpc.farnell.com/ebm-papst/252-2n ... 0000009759

12v, it will fit, but pricey. Also worry the inrush current may be too much to use the 5V header on the Pi.

Thoughts? Any other good sources to buy HS&F?



As for the fan current, should be fine. It isnt gonna run it at 12V...it will run it at 5V (or you can even try the 3V header). It is a tiny fan (25mm x 8mm)...approx 1/3 the size of the fan I use (70mm x 10mm @ approx 0.2 A), what are you mounting it on?

70mm x 10mm
Image

as for the heatsink...

If you compare your specs (L .91" W .91" H .39" ) to the specs of the one in this image (L .87" W .96" H.70"), you will notice is only slightly longer. You may want to reconsider though, as the height is not much and thus provides less of a cooling area, which may render it less effective.

Imagine the heatsink in image shown below as more rectangular (instead of square)...slightly longer (+.04"), less wide (-0.5"), and less then half as high (-0.31").

There is room, so you can make the length work (if you offset it forward a little towards the USB/Ethernet). Measure the area around the SoC and see.

L .87" W .96" H.70"
http://postimg.org/image/uiwylrcr5/
Image
Image
DNPNWO
User avatar
Posts: 586
Joined: Sat Mar 26, 2016 5:21 pm
Location: USA
by ag123 » Wed Dec 21, 2016 3:42 pm
my own current trials
i found some rather good ideas including a case like this offered for sale on ebay
http://www.ebay.com/itm/Transparent-Cle ... 1727422137

not affliated with those case sellers but i'm looking for a thermal solution for pi 3 too

i'm using a heat sink similar to this
Image
i used one that is somewhat oversized with dimensions 25mmx27mmx7mm
the thing would be that 1'd need to be careful not to short components around a somewhat large oversized heatsink

currently i'm making do with passive cooling - i.e. no fan
but i may instead get one of those boxes with fan like the above ebay link

i've done some tests

without a heat sink, pi 3 actually run fine for those 'single threaded' jobs
e.g. play h264 mp4 HD 1080p movies using omxplayer only reaches 52deg C
a single thread linpack stabilise at around 60deg C
http://www.netlib.org/benchmark/linpackc.new
gcc -O3 -o linpack linpack.c -lm -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a8

however, if 4 concurrent linpack is run it quickly reach about 82 deg C in less than a minute and the cpu throttles to 600mhz

after installing the heatsink, no fan - passive cooling
i've been able to run 4 concurrent linpack and the temperature gradually increase from 48deg - 79deg over 14 minutes
i terminate the experiment when the temperature reaches 79 deg
Sun 18 Dec 07:11:53 UTC 2016 @ raspberrypi
-------------------------------------------
GPU => temp=48.3'C
CPU => 48'C
freq => frequency(45)=1200000000
Sun 18 Dec 07:26:09 UTC 2016 @ raspberrypi
-------------------------------------------
GPU => temp=79.0'C
CPU => 78'C
freq => frequency(45)=1199998000

the experiment did not reach 'steady state' as temperature is continually rising but much more gradual compared without heatsink.

throughout the 14 minutes, i've got 4 concurrent linpack processes crunching 1000x1000 matrices non-stop and it does not throttle the frequency, frequency remains at 1.2Ghz for all that 14 minutes of intensive computation.

while linpack is a synthetic benchmark, i'd think it is quite possible to reach such temperatures realistically, examples may be cases of video transcoding if the transcoder runs concurrent parallel transcoding threads

then to further achieve 'steady state' i'd think a fan is needed. however, for the occasional high (concurrent parallel) loads i'd think passive cooling is still a rather sensible solution.

i used a 'big' heat sink and this keeps temperature low for a rather long time (14 mins) during the intense load. however, a large heat sink also tend to cool slower when load is removed due to the bulk

script for monitoring temperatures & frequencies
#!/bin/bash
cpu=$(</sys/class/thermal/thermal_zone0/temp)
echo "$(date) @ $(hostname)"
echo "-------------------------------------------"
echo "GPU => $(/opt/vc/bin/vcgencmd measure_temp)"
echo "CPU => $((cpu/1000))'C"
echo "freq => $(/opt/vc/bin/vcgencmd measure_clock arm)"
Posts: 11
Joined: Sun Dec 18, 2016 7:54 am
by ejolson » Wed Dec 21, 2016 6:53 pm
ag123 wrote:while linpack is a synthetic benchmark, i'd think it is quite possible to reach such temperatures realistically, examples may be cases of video transcoding if the transcoder runs concurrent parallel transcoding threads
For me a synthetic benchmark is a short program that doesn't solve a real problem.

In a way solving a randomly generated system of linear equations is synthetic and takes about 100 lines of C code to fully implement. The fact that linear algebra computations occur in scientific computing has led to a multi-vendor effort to write performance-optimized code. The result typically runs 10 to 100 times faster but also takes significantly more lines. In this case hpl is around 34 thousand lines and after including the OpenBLAS subroutine library totals 3 million. Given how much performance improvement can be achieved, already optimized subroutine libraries are convenient when comparing the performance of computer hardware.

In addition to video encoding, another area where optimized subroutine libraries exist that could be used for benchmarking computer hardware is encryption. Note, however, that many of these algorithms were actually designed with the instruction sets of certain CPUs in mind, so the comparisons aren't always as fair.

We are even getting to the point where web browsers contain significant amounts of optimized code. This can be demonstrated by comparing the difference in speed of Chrome, Safari, Edge and Firefox when rendering complicated a JavaScript page on identical hardware. From the users point of view, the hardware is as fast as the fastest web browser which runs on it. A modern web browser for the Pi would simultaneously use all four cores and might generate enough heat to require a heatsink.

Currently most Pi 3's are running a 32-bit version of Raspbian that is binary compatible with the single core ARMv6 architecture. While such code runs slower than software optimized for the multi-core ARMv8 architecture, the advantage is that a heatsink is often not required to prevent throttling.
Posts: 1000
Joined: Tue Mar 18, 2014 11:47 am