1STRESS-NG(1) General Commands Manual STRESS-NG(1)
2
3
4
6 stress-ng - a tool to load and stress a computer system
7
8
10 stress-ng [OPTION [ARG]] ...
11
12
14 stress-ng will stress test a computer system in various selectable
15 ways. It was designed to exercise various physical subsystems of a com‐
16 puter as well as the various operating system kernel interfaces.
17 stress-ng also has a wide range of CPU specific stress tests that exer‐
18 cise floating point, integer, bit manipulation and control flow.
19
20 stress-ng was originally intended to make a machine work hard and trip
21 hardware issues such as thermal overruns as well as operating system
22 bugs that only occur when a system is being thrashed hard. Use
23 stress-ng with caution as some of the tests can make a system run hot
24 on poorly designed hardware and also can cause excessive system thrash‐
25 ing which may be difficult to stop.
26
27 stress-ng can also measure test throughput rates; this can be useful to
28 observe performance changes across different operating system releases
29 or types of hardware. However, it has never been intended to be used as
30 a precise benchmark test suite, so do NOT use it in this manner.
31
32 Running stress-ng with root privileges will adjust out of memory set‐
33 tings on Linux systems to make the stressors unkillable in low memory
34 situations, so use this judiciously. With the appropriate privilege,
35 stress-ng can allow the ionice class and ionice levels to be adjusted,
36 again, this should be used with care.
37
38 One can specify the number of processes to invoke per type of stress
39 test; specifying a zero value will select the number of processors
40 available as defined by sysconf(_SC_NPROCESSORS_CONF), if that can't be
41 determined then the number of online CPUs is used. If the value is
42 less than zero then the number of online CPUs is used.
43
45 General stress-ng control options:
46
47 --abort
48 this option will force all running stressors to abort (termi‐
49 nate) if any other stressor terminates prematurely because of a
50 failure.
51
52 --aggressive
53 enables more file, cache and memory aggressive options. This may
54 slow tests down, increase latencies and reduce the number of
55 bogo ops as well as changing the balance of user time vs system
56 time used depending on the type of stressor being used.
57
58 -a N, --all N, --parallel N
59 start N instances of all stressors in parallel. If N is less
60 than zero, then the number of CPUs online is used for the number
61 of instances. If N is zero, then the number of configured CPUs
62 in the system is used.
63
64 -b N, --backoff N
65 wait N microseconds between the start of each stress worker
66 process. This allows one to ramp up the stress tests over time.
67
68 --class name
69 specify the class of stressors to run. Stressors are classified
70 into one or more of the following classes: cpu, cpu-cache, de‐
71 vice, gpu, io, interrupt, filesystem, memory, network, os, pipe,
72 scheduler and vm. Some stressors fall into just one class. For
73 example the 'get' stressor is just in the 'os' class. Other
74 stressors fall into more than one class, for example, the
75 'lsearch' stressor falls into the 'cpu', 'cpu-cache' and 'mem‐
76 ory' classes as it exercises all these three. Selecting a spe‐
77 cific class will run all the stressors that fall into that class
78 only when run with the --sequential option.
79
80 Specifying a name followed by a question mark (for example
81 --class vm?) will print out all the stressors in that specific
82 class.
83
84 -n, --dry-run
85 parse options, but do not run stress tests. A no-op.
86
87 --ftrace
88 enable kernel function call tracing (Linux only). This will use
89 the kernel debugfs ftrace mechanism to record all the kernel
90 functions used on the system while stress-ng is running. This
91 is only as accurate as the kernel ftrace output, so there may be
92 some variability on the data reported.
93
94 -h, --help
95 show help.
96
97 --ignite-cpu
98 alter kernel controls to try and maximize the CPU. This requires
99 root privilege to alter various /sys interface controls. Cur‐
100 rently this only works for Intel P-State enabled x86 systems on
101 Linux.
102
103 --ionice-class class
104 specify ionice class (only on Linux). Can be idle (default),
105 besteffort, be, realtime, rt.
106
107 --ionice-level level
108 specify ionice level (only on Linux). For idle, 0 is the only
109 possible option. For besteffort or realtime values 0 (highest
110 priority) to 7 (lowest priority). See ionice(1) for more de‐
111 tails.
112
113 --iostat S
114 every S seconds show I/O statistics on the device that stores
115 the stress-ng temporary files. This is either the device of the
116 current working directory or the --temp-path specified path.
117 Currently a Linux only option. The fields output are:
118
119 Column Heading Explanation
120 Inflight number of I/O requests that have been
121 issued to the device driver but have
122 not yet completed
123 Rd K/s read rate in 1024 bytes per second
124 Wr K/s write rate in 1024 bytes per second
125 Dscd K/s discard rate in 1024 bytes per second
126 Rd/s reads per second
127 Wr/s writes per second
128 Dscd/s discards per second
129
130 --job jobfile