How to stress test your Raspberry Pi?

stress test your Raspberry Pi

If you are interested in finding out the true capabilities of your Raspberry Pi, especially if you have overclocked (Further Reading: How to overclock your Raspberry Pi?) or modified your Pi, then this tutorial is perfect for you! Raspberry Pi stress test is essentially software that will inform you of the performance capabilities of a CPU (or other pieces of hardware) by subjecting it to conditions beyond regular operation. Stress tests can be done at extreme, oftentimes unrealistic levels and over a prolonged period of time. For example, when beta testing a brand-new CPU before release. On the contrary, the stress testing procedure can also be very controlled and methodical in order to record useful data and then make fine improvements. Without further ado, the steps to run this test should be fairly straightforward and can be done right from the Terminal (command prompt).

Step 1: Raspberry Pi Stress Test Instructions

In this tutorial, we will be going through how you can stress test your Raspberry Pi but before starting, do note that this test is designed specifically for Raspberry Pis using the 64-bit ARM Cortex-A53 processor (e.g. Raspberry Pi 2 & 3 Model B). Therefore, please only run this test if your Raspberry Pi is equipped with that same processor or you may risk permanent damage to the CPU otherwise. 

Furthermore, before stress testing your Pi, I would recommend ensuring that it has sufficient cooling to prevent throttling or any heat damage during the initial stages of the test. Similar to regular CPUs, some common methods of cooling (passive and active cooling) include using fans, heat sinks or even water-cooling methods. I have had a positive experience using dual fans that are placed on top of the Broadcom CPU chip and USB Ethernet controller chip via thermal tape/adhesive, allowing my Pi to be overclocked without worrying about overheating or throttling.

Furthermore, a ceramic heatsink with thermal paste is added directly on top of the Broadcom WiFi/Bluetooth chip at the rear of my Pi for additional cooling. A helpful feature of this specific stress test program is that it displays the core temperature of your Pi at every second, so if you find that there are throttling or overheating issues during the test, it is recommended to halt the test immediately.

Another aspect to keep in mind is that by stress-testing the Raspberry Pi and running it beyond its usual operation limits, you may void the warranty on your Pi. 

Step 2: Download the Stress Test Package

Before running the stress test, you need to enter the following command in the built-in terminal of Raspberry Pi to download the stress test package:

sudo apt-get install stress

Enter command page

Step 3: Get Resources

Enter the following command in the Terminal to source the exact stress test for this application as highlighted by the URL included. The wget GNU basically sources for this specific stress test from the World Wide Web (Internet).

https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S

Step 4: Setting parameters

Enter this command into your Terminal which essentially sets the parameters for the stress test that is about to be performed. There should be no feedback from the Terminal after running this command.

gcc -o cpuburn-a53 cpuburn-a53.S

Step 5: First Test

To officially begin the stress test, run the command below and the test should begin immediately after it is entered. There are two stress tests that we will be running and this first test is essentially an intermediate, less harsh stress test that does not totally max out the operating limits of the Pi. Based on the parameters given, it will be running for a total of 900 seconds (i.e. 15 minutes). Furthermore, upon running the test, you should see the clock frequency of your CPU being displayed every second in addition to Raspberry Pi’s core temperature.

while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900s

First Test

If you are facing any throttling issues while running this test or you notice that your Pi is overheating, press Control + C to kill the stress test immediately. This may mean that your Pi is not equipped with sufficient cooling to support this test or that your Pi is possibly overclocked too much. Thus, I highly recommend making any necessary changes to your Pi’s cooling or configuration settings before coming back and running this preliminary test again. If, for any reason, your Pi is totally unresponsive/frozen and Control + C does not work, your last resort will be to turn off the power to your Pi. 

Step 6: Secondary Test

If you are not facing any of the issues mentioned above and you are willing to perform a much more intense stress test on your Raspberry Pi, please proceed by executing this command in the terminal. Do note that this stress test has no set time to run so if needed, press Control + C to kill the stress test immediately. 

while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& ./cpuburn-a5

secondary test

As you may have instantly realized, this second stress test is undoubtedly a way more intense and extreme test where it can truly push your Raspberry Pi to its absolute limits in terms of operation capabilities. Upon executing the command, you may see a sharp spike in the core temperature of your Pi but if your cooling methods are sufficient, it should level out soon enough. Once again, if you are experiencing any throttling or overheating issues, feel free to terminate the test and restart it once you have made any necessary adjustments to your Pi. However, if you are not experiencing any issues with your Pi, congratulations! This means that your Pi is perfectly optimized to run beyond the normal limits of operation, potentially thanks to the cooling methods or configuration settings used!

Summary

Now that you have learned how to perform a stress test on your Raspberry Pi, this can give you a baseline reading on the current cooling and configuration properties of your Pi. If needed, you can then make any modifications. For those who are new to using the Raspberry Pi, adding some heatsinks or a cooling fan will make a world of difference in CPU performance. If you are finding the stress tests to be too easy, I would recommend overclocking your Raspberry Pi in slight increments and then redoing the tests to work up to a point where you start noticing instability. From there, you can reconfigure your setup and redo the test but I would go against running the stress test too often as it may cause excessive strain on your processor. In conclusion, I hope you have found this tutorial and explored another unique piece of software you could run on your Pi.

Related Blogs

Arduino UNO Interrupt Timer

Arduino UNO Interrupt Timer The Timer is a feature embedded in every microcontroller and has certain functions regarding the passage of time. The Timer function

Read More »

We'd love to hear from you