Hardware stress testing with Linux
StressLinux helps you optimize your hardware and eke out more performance from individual components.
Linux is a flexible and universal operating system because of many positive properties. One of its less well-known applications, however, is as a hardware diagnostics tool.
For functional and performance tests, many people still tend to rely on expensive special solutions running on other operating systems, but the small StressLinux Live distribution lets you test your system's capabilities without the complex handling and high costs of other tools.
Based on openSUSE 11.4 and BusyBox, StressLinux  is available as a 200MB, or 225MB ISO image for 64-bit and 32-bit architectures. Alternative versions are available for use with USB storage media or in a virtual machine. You can find easily understandable documentation for creating a bootable medium at the project website .
After launching, StressLinux initially comes up with an anachronistic text screen and rudimentary line graphics on a black background. Once the operating system is ready, you need to log in: The username and password are both stress. The routine then branches to the YaST2 configuration tool in text mode, which first customizes the keyboard, if needed, in the familiar blue window. The software prompts you to enter the motherboard. If you are not sure what board you have installed, or you use a laptop with a motherboard designed specifically for mobile use, simply press the OK button to enable the first list entry, Run_sensors-detect. Your hardware is then checked in several individual steps for the availability of various sensors. On completion, the system shows possible test and benchmark commands in a table, displays a prompt, and waits for your input (Figure 1).
The top of the table displays an impressive number of test routines that are customized for specific hardware. These routines are sorted by manufacturers Intel and AMD. Below are programs that cover a wider range of tests, as well as tests that check network speed and mass memory. If you don't know what hardware is installed in your system in detail, you can list the most important components by running the
lshw command. The output from
lshw is extensive, but you can page the output on screen with:
lshw | more
so you can view the details at your leisure. To determine the exact processor type, enter x86info at the prompt; this gives you the most important technical data for your CPU (Figure 2).
CPU and Chipset Testing
The first six programs in the list are available in some software repositories as part of the cpuburn suite. These programs test processors and chipsets from Intel and AMD – including the legacy K6 and K7 series, as well as modern compatible systems – at the highest possible load, allowing you to determine the extent to which a processor is suitable for overclocking and helping you home in on hardware problems. For example, a system under full load that switches off after a few minutes could indicate defective or insufficient CPU cooling.
You can start the test program in each case by running the console command specified in the list; this does not require administrative privileges. Because the programs do not usually output anything on screen, you should run your hardware tests in the background, so you can work at the console while the application is running. To test your state-of-the-art Intel CPU extensively, type in the command sequence
burnP6 || echo $? &
at the console. The CPU is fully loaded, so if you now run the
top command on the console to display percent system utilization by various processes, burnP6 will always appear at the top of the list with a permanent CPU load of well over 95%.
StressLinux monitors the thermal performance of your system under load almost in real time, showing the relevant information with F10 through F12 key combinations.
The keyboard shortcut Ctrl+Alt+F12 takes you to the current temperature display for all sensors found on the system and displays fan speeds. Nearby is the CPU temperature display, which also indicates the maximum permissible operating temperature. If the display shows a sharp sensor temperature rise after a short time, and a higher fan speed does not have any influence on the heat development recorded by the sensors, it is best to check the cooling system. This is especially true for CPU cooling, in that thermal paste that dries over time directly on the processor can act as an insulator, ultimately resulting in damage to the system.
The keyboard shortcut Ctrl+Alt+F11 displays the current storage device temperatures. Under full load, and even after prolonged exposure to the stress test, the hard disk operating temperature should not rise above 50C; otherwise, you could experience data loss and damage.
Pressing Ctrl+Alt+F10 takes you to a graphically enhanced display of your network throughput; only the eth0 interface is monitored. This display remains inactive for CPU and chipset tests.
stress command launches a more comprehensive system test; in addition to the CPU, it checks the memory interface, memory, and, if necessary, storage devices. Because this test suite has an impressive number of parameters with which the individual routines can be adjusted, you should first run
stress --help to get an overview of the possible options. To automate tests without overloading the system with too long a run time, you can set a time limit for the
stress test run.
Buy this article as PDF
Linux Magazine will include the best of both magazines.
Popular open source encryption tool is vulnerable to attack
New “Yakkety Yak” edition emphasizes cloud and servers
Google finally enters the phone hardware business.
Innovative system adds a hard drive and Ubuntu Core to the RPi for an IoT hub.
Linux is two weeks younger than we thought!
The Apache Software Foundation considers retiring OpenOffice
Adobe won’t kill the plugin in 2017
Linux Foundation's big event celebrates the 25th anniversary of Linux