yum install stress-ng
start test
stress-ng --cpu 1 --io 2 --vm 5 --vm-bytes 1G --metrics-brief
Stress-NG is a tool designed to stress test various components of the system, including CPU, memory, I/O, and file systems. It can be used in both physical servers and virtual machines to evaluate their performance under different workloads. This guide will walk you through setting up and running Stress-NG tests on virtual machines.
Prerequisites
Before starting with Stress-NG testing, ensure that your virtual machine meets the following requirements:
- OS: Linux-based operating system (Ubuntu, CentOS, etc.)
- Hardware: Adequate resources allocated to the VM (CPU cores, RAM)
- Network: Proper network configuration if needed
Installation
To install Stress-NG on Ubuntu or Debian-based distributions, use the following command:sudo apt-get updatesudo apt-get install stress-ng
For Red Hat Enterprise Linux (RHEL), CentOS, or Fedora, run:sudo yum install epel-releasesudo yum install stress-ng
Basic Usage
Once installed, you can start using Stress-NG by specifying the type of stress test and its parameters. Here are some common examples:
Stress CPURun multiple CPU-intensive tasks simultaneously:stress-ng —cpu 8 —timeout 60s
This command runs 8 CPU stressors for 60 seconds.
Stress MemoryAllocate large amounts of memory and perform operations on it:stress-ng —vm 4 —vm-bytes 1G —timeout 60s
Here, 4 VMs each allocate 1GB of memory and operate on them for 60 seconds.
Stress Disk I/OPerform intensive disk input/output operations:stress-ng —hdd 4 —hdd-bytes 1G —timeout 60s
This creates 4 hard drive stressors writing 1GB of data each within 60 seconds.
Advanced Testing Scenarios
You can combine multiple types of stress tests into one command. For example:stress-ng —cpu 4 —vm 2 —hdd 2 —io 2 —timeout 60s
This runs four CPU stressors, two memory stressors, two hard drive stressors, and two I/O stressors concurrently for 60 seconds.
Monitoring Performance
While running Stress-NG, it’s essential to monitor the system’s performance. You can use tools like top
, htop
, or vmstat
to observe resource utilization.
Example commands:
- Top: Displays real-time process information.
top
- Vmstat: Reports virtual memory statistics.
vmstat 1
Troubleshooting
If you encounter issues during Stress-NG execution, check the following:
- Ensure sufficient resources are available (RAM, CPU).
- Verify that the VM has proper permissions to access necessary files or devices.
- Check logs (
dmesg
) for any kernel errors related to resource exhaustion.
Conclusion
Stress-NG provides an effective way to benchmark and validate the performance capabilities of virtual machines. By understanding how to configure and execute these tests, you can better optimize your infrastructure for specific workloads.