ColinIanKing/stress-ng logo

ColinIanKing/stress-ng

Free

This is the stress-ng upstream project git repository. stress-ng will stress test a computer system in various selectable ways. It was designed to exercise various physical subsystems of a computer as well as the various operating system kernel interfaces.

FreeFree tier
Type
Open Source
Company
Colin Ian King (individual maintainer)

About ColinIanKing/stress-ng

stress-ng is a powerful open-source stress testing tool designed to evaluate computer system stability by exercising physical subsystems and operating system kernel interfaces. It supports a wide range of stressors, including CPU, memory, disk I/O, network, and kernel-specific tests. Originally created to help uncover hardware and kernel-level issues, stress-ng is widely used for system validation, performance benchmarking, and fault tolerance testing. The tool is actively maintained on GitHub with over 2,700 stars and a rich set of configuration options.

Key Features

Exercises physical subsystems (CPU, memory, disk, network) and kernel interfaces
Over 200 different stressor tests available
Highly configurable via command-line options
Supports stress testing of specific hardware components like CPU caches, I/O, and interrupts
Includes features for monitoring system performance during tests (e.g., metrics, logs)
Cross-platform support (Linux, Android, etc.)
Actively maintained with regular updates and a large community

Pros & Cons

Pros
  • Free and open source with a permissive license (GPL v2)
  • Extensive selection of stressors covering almost all system components
  • Active development and community support on GitHub
  • Can be used for both quick tests and long-duration stress runs
  • Provides detailed metrics and logging for analysis
Cons
  • May cause system instability or crashes if misconfigured (use with caution)
  • Requires root privileges for many stressor types
  • Primarily designed for Linux; other Unix-like systems may have limited support
  • Not intended for production environments without careful planning

Best For

Hardware validation and burn-in testing for new systemsKernel and driver development testing to uncover bugsSystem stability and reliability assessment under loadPerformance benchmarking and stress comparisonEducational purposes to understand system behavior under stress

FAQ

What is stress-ng used for?
stress-ng is used to stress test computer systems by exercising physical subsystems (CPU, memory, disk, network) and operating system kernel interfaces. It helps uncover hardware faults, kernel bugs, and stability issues.
Is stress-ng free?
Yes, stress-ng is completely free and open-source software released under the GNU General Public License v2.
What operating systems does stress-ng support?
stress-ng primarily targets Linux, but it also includes support for Android (see README.Android in the repository). Other Unix-like systems may work with limited functionality.
How many stressor tests does stress-ng offer?
stress-ng includes over 200 different stressor tests, covering CPU, memory, disk, network, kernel interfaces, and more. The exact count increases with each release.