How to Stress Test Temperature on Raspberry Pi (Stressberry)

Cool heatsink G!

It’s easy to forget that while the fin-shaped design has been perfected, most lumps of metal will work great!

Good to see a big noctua fan, it’s probably nice and quiet

2 Likes

Hey Makers,

Just running some stressberry tests in one of the new M.2 cases in a clean Raspberry Pi OS install. Appears that there’s a dependency missing for plotting that you can install with: sudo apt install libatlas-base-dev from your terminal.

Make sure to let us know if you’re running into any issues with it!

3 Likes

Nice utility!!!

I have a Pi4 on a big breadboard and a 15 watt power supply.
Take note that the Pi4 is open to ambient room temperature. See photo.

The graph results show that the FAN unplugged forces the temperature to rise to over 60 C.
Then when I start the FAN, the temperature settled at about 50C.

My /boot/config.txt contains:

over_voltage=6
arm_freq=1800
temp_soft_limit=77

I added A Heat Sink With Fan

And after butchering the power supply cable so that I could monitor Voltage drops and Current with a Adafruit INA219 i2c board I see that when Temperature is at 50 C I measure:

Voltage (VIN+) :  5.161   V
Voltage (VIN-) :  5.012   V
Shunt Voltage  :  0.14867 V
Shunt Current  :  1.4867  A
Power Calc.    :  7.45134 W
Power Register :  7.452   W
5 Likes

Excellent article. I ran this on my stock Raspberry Pi 400 keyboard, and it’s surprising how well this thing performs! I love using it as my daily work machine, connecting to Citrix Workspace for work, installed Teams using snap… Could not ask for a better cheap to run WFH solution!

Anyway, the results of my stressberry test.

I had to modify the export code a bit to fit in the top of the CPU freq graph.

MPLBACKEND=Agg stressberry-plot mytest.out -f -d 300 -f -l 400 2000 -t 30 60 -o mytest.png --not-transparent

The actual benchmark code wasn’t changed, apart from the path:

stressberry-run -n "My Test" -d 1800 -i 300 -c 4 mytest.out

Thanks for the tutorial, I’ll be ordering the full RPi400 kit from you shortly, as my son has been keenly eyeballing mine. Sounds like a great Christmas present for him!

7 Likes

Update on my Pi4 with the OS Bullseye installed with before graph for comparison.

Previous OS Buster in the latest PI4 cooling configuration:

Fresh install of Bullseye OS, same cooling configuration:

1800MHz increased the temperature by about 6C.

5 Likes

Nice data Graham! Great to see a realword comparison and to see the impact of the extra clock speed :slight_smile:

4 Likes

Thanks Oliver, G Graham :slight_smile:

3 Likes

Ah whoops sorry! Not sure where I got that from :sweat_smile:

Pi4 8Mb running Bullseye with customised case, heatsink and 5v fan triggered at 60C.



6 Likes

That’s a nice looking print! Case came out well, and it’s cool to see the fan doing its job on the temperature plot. :slight_smile:

3 Likes

/home/pi/.local/bin/stressberry-run -n “My Test” -d 1800 -i 300 -c 4 mytest.out (from the newer guide) isn’t working.

I followed every step up until the command that doesn’t work.

Hi Oisin,

Are you getting an error message when the command doesn’t work?
Once we know what error it’s returning if we can’t figure it out I’ll replicate your setup on the bench here.

-bash: /home/pi/.local/bin/stressberry-run: No such file or directory
is the error message

Hey Oisin,

I’ve moved your posts over to the stressberry thread since you’re using this guide now.

Hmm, did you install stressberry before trying to run it?

I ran:
sudo apt update sudo apt full-upgrade, sudo apt install stress pip3 install stressberry --user, mkdir ~/TemperatureTests, cd ~/TemperatureTests in order.

1 Like

I’ve changed directory to ~/.local/bin, and then typed stressberry-run -n “My Test” -d 1800 -i 300 -c 4 mytest.out and now it seems to be running. so far it says:
4 mytest.out
Awaiting stable baseline temperature…
Current temperature: 39.2°C - Previous temperature: 39.7°C
Current temperature: 39.2°C - Previous temperature: 39.2°C
Preparing to stress [4] CPU Cores for [1800] seconds
Idling for 300 seconds…
Current temperature: 39.7°C - Frequency: 700MHz
Current temperature: 39.2°C - Frequency: 600MHz
Current temperature: 39.7°C - Frequency: 600MHz
Current temperature: 39.7°C - Frequency: 600MHz
Current temperature: 39.7°C - Frequency: 600MHz
Current temperature: 39.7°C - Frequency: 600MHz
Current temperature: 39.7°C - Frequency: 600MHz
Current temperature: 39.2°C - Frequency: 600MHz

1 Like

I just realised: the reason /home/pi/.local/bin/stressberry-run -n “My Test” -d 1800 -i 300 -c 4 mytest.out didn’t work is because I have my own new user and have deleted the pi user.
This is the last text that I can send today because I am a new user. Does the test just stop on it’s own? And is there any other way we can talk because I cant send any more messages today?

3 Likes

Sounds like you’ve solved that mystery :slightly_smiling_face:
Let us know when the test completes and you try to plot it if you have good results or if the clock speed is still low or there are any other issues.

2 Likes

Hey Oisin,

Yes, it will stop on its own. The command you entered tells it to idle for 300 seconds (5 minutes) then stress the CPU for 1800 seconds (20 minutes). All up it will take 25 minutes.

1 Like