stress is a simple tool that imposes a configurable amount of CPU, memory, I/O, and disk stress on POSIX-compliant operating systems. stress is written in portable ANSI C and uses the GNU Autotools to compile on most UNIX-like operating systems. It is free software, licensed under the GNU GPL.

stress is not a benchmark. It is a tool used by system administrators to evaluate how well their systems will scale, by kernel programmers to evaluate perceived performance characteristics, and by systems programmers to expose the classes of bugs which only or more frequently manifest themselves when the system is under heavy load.

stress is listed in the GNU Free Software Directory and has an entry on Freshmeat. It is used by the Linux Test Project and is part of a purpose-optimized GNU/Linux distribution called stresslinux. Linux Magazine did a writeup [pdf] about it. Engler's 2004 OSDI paper titled Using Model Checking to Find Serious File System Errors [pdf] references it.

Example

Here is an example invocation: a load average of four is imposed on the system by specifying two CPU-bound processes, one I/O-bound process, and one memory allocator process.