This software provides load balancing and stress testing capabilities for Unix-like systems. It can be used to evaluate the performance and stability of such systems under various conditions.
While stress is not a benchmarking tool per se, it is a favorite among system administrators, kernel programmers, and systems programmers for evaluating scalability, perceived performance, and bug manifestation under heavy loads. The tool is listed in the prestigious GNU Free Software Directory, and it has an entry on Freshmeat. Stress is also used in the Linux Test Project, and it's part of a spin-off distribution called stresslinux that optimizes for the needs of users who frequently run stress.
Stress has received glowing reviews from its users in the past. For example, Linux Magazine wrote a review of the software, and Engler's 2004 OSDI paper discusses how Using Model Checking can Find Serious File System Errors. Here is an example of how to invoke stress on your system:
$ stress --cpu 2 --io 1 --vm 1 --vm-bytes 128M --timeout 10s --verbose
This command will impose a load average of four on your system by specifying two CPU-bound processes, one I/O-bound process, and one memory allocator process. The verbose output shows that the process is using backoff sleep, setting timeout, and forked several workers for different tasks. Overall, stress is an essential tool for anyone who wants to evaluate system performance under heavy loads or debug critical problems in their software.
Version 1.0.1: N/A