Open-Source Stress Testing & Torturing Your Linux Software/Hardware
Written by Michael Larabel in Phoronix Test Suite on 4 April 2016 at 06:38 PM EDT. 10 Comments
Looking to absolutely hammer your hardware or software for ensuring maximum reliability, thermal performance, or responsiveness? It's easy.

While it's little talked about on here, one of the less heard of features of the Phoronix Test Suite is it's stress-run functionality. Phoronix-test-suite stress-run (see that article for all the background information) has been in our open-source benchmarking software for more than the past year and is found in versions since Phoronix Test Suite 5.6.

Running multiple instances of Unigine is sure to bring any system to its knees.

Stress-run isn't about benchmarking for performance measurements but rather stressing/torturing your system. The stress-run sub-command works with any existing Phoronix Test Suite test profiles and is basically about loading your system up with any number of tests desired and for as long as you wish. With ignoring the performance recording aspect, the stress-run command lets you specify however many separate tests/benchmarks you wish to run concurrently (via the PTS_CONCURRENT_TEST_RUNS environment variable) and for as long as you wish (via the TOTAL_LOOP_TIME environment variable). An example command would be PTS_CONCURRENT_TEST_RUNS=4 TOTAL_LOOP_TIME=20 phoronix-test-suite stress-run unigine-valley fio scimark2 encode-mp3 x264 ffmpeg to continuously run four tests concurrently, any mix of the tests supplied, for a total of 20 minutes.

Phoronix-Test-Suite Stress-Run is easier to deploy than other solutions, remains completely automated and streamlined, and works with the hundreds of test profiles available via

The Phoronix Test Suite automatically (by default, but there are tunables to change the behavior) try to balance the tests run at once based upon what subsystems a test belongs to, e.g. to try to get a RAM, CPU, and GPU test concurrently, rather than three graphics tests, unless that's all you specified were graphics tests. Plus there is an assortment of other capabilities for this not too widely advertised feature of the Phoronix Test Suite.

Seeing how well a system responds to compiling Apache, running SQLite, running two PostgreSQL databases, compiling the Linux kernel, all simultaneously...

The news today is that in Phoronix-Test-Suite on GitHub are some improvements to the stress-run sub-command. There are improvements to the thread handling/management to ensure the concurrent test runs are being handled properly and none of them become zombified or other threading problems. There is also improvements to the algorithm for picking the next test to run and other enhancements. The stress-run improvements will be released in Phoronix Test Suite 6.4-Hasvik later this quarter. Other stress-run improvements will still be coming this cycle along with better integration of the stress-run features inside Phoromatic.

The stress/torture testing functionality remains as easy to use as any of the Phoronix Test Suite's other extensible and automated focused features. You can also pair the stress-run testing with the Phoronix Test Suite's system_monitor module to enable polling various hardware/software sensors and usage indicators simultaneously during testing along with any other PTS modules for further extending the realm of testing possibilities. For any inquiries, commercial support, or other custom engineering services around Linux testing/benchmarking, contact us.
Related News
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter or contacted via

Popular News This Week