You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The input structure (YAML or JSON) expects a couple of root-level parameters, like timeout,
followed by a list of stressors. Each list item requires a stressor name from the supported
list above, a workers parameter as an integer for the number of workers for this stressor,
and then any other parameters supported by the specific stressor.
The list of provided stressors will be run simultaneously as a single workload.
Example:
timeout: 60
stressors:
- stressor: vm
workers: 4
vm-bytes: 10g
- stressor: cpu
workers: 8
cpu_method: all
Using the plugin
Build the container:
docker build . -t arcaflow-plugin-stressng
Run with the provided example input:
cat configs/stressng_example.yaml | docker run -i --rm arcaflow-plugin-stressng -f -
Note: This plugin is designed to be used as a container image built with
the provided Dockerfile. Using the python directly on a target system will
likely prove problematic.
Autogenerated Input/Output Documentation by Arcaflow-Docsgen Below
stress-ng workload (workload)
Run the stress-ng workload with the given parameters
Input
Type:
scope
Root object:
StressNGParams
Properties
cleanup (bool)
Name:
Cleanup
Description:
Cleanup artifacts after the plugin run
Required:
No
Default (JSON encoded):
false
Type:
bool
metrics-brief (bool)
Name:
Brief Metrics
Description:
Brief version of the metrics output
Required:
No
Type:
bool
page-in (bool)
Name:
Page in
Description:
Touch allocated pages that are not in core, forcing them to be paged back in. This is a useful option to force all the allocated pages to be paged in when using the bigheap, mmap and vm stressors.
Required:
No
Type:
bool
stressors (list[one of[string]])
Required:
Yes
Type:
list[one of[string]]
List items
Type:
one of[string]
taskset (string)
Name:
Taskset
Description:
Bind stress-ng to use only the CPUs provided. The value is a comma-separated list (no spaces) of CPU numbers (0 to N-1) or CPU-ranges (2-4).
Number of seconds after which to stop the stress test
Required:
Yes
Type:
int
verbose (bool)
Name:
Verbose
Description:
Verbose output
Required:
No
Type:
bool
workdir (string)
Name:
Working Directory
Description:
Directory in which stress-ng will be executed (for example, to target a specific volume)
Required:
No
Default (JSON encoded):
"/tmp"
Type:
string
ObjectsCpuStressorParams (object)
Type:
object
Properties
cpu-load (int)
Name:
CPU Load
Description:
Percentage per-worker loading for the CPU; 100 = 1 full CPU core
Required:
No
Type:
int
cpu-method (enum[string])
Name:
CPU Stressor Method
Description:
Specify a cpu stress method; by default, all stress methods are exercised sequentially
Required:
No
Default (JSON encoded):
"all"
Type:
enum[string]
Values
ackermann: ACKERMANN
all: ALL
apery: APERY
bitops: BITOPS
callfunc: CALLFUNC
cdouble: CDOUBLE
cfloat: CFLOAT
clongdouble: CLONGDOUBLE
collatz: COLLATZ
correlate: CORRELATE
cpuid: CPUID
crc16: CRC16
decimal128: DECIMAL128
decimal32: DECIMAL32
decimal64: DECIMAL64
dither: DITHER
div64: DIV64
djb2a: DJB2A
double: DOUBLE
euler: EULER
explog: EXPLOG
factorial: FACTORIAL
fft: FFT
fibonacci: FIBONACCI
fletcher16: FLETCHER16
float: FLOAT
float128: FLOAT128
float16: FLOAT16
float32: FLOAT32
float80: FLOAT80
floatconversion: FLOATCONVERSION
fnv1a: FNV1A
gamma: GAMMA
gcd: GCD
gray: GRAY
hamming: HAMMING
hanoi: HANOI
hyperbolic: HYPERBOLIC
idct: IDCT
int128: INT128
int128decimal128: INT128DECIMAL128
int128decimal32: INT128DECIMAL32
int128decimal64: INT128DECIMAL64
int128double: INT128DOUBLE
int128float: INT128FLOAT
int128longdouble: INT128LONGDOUBLE
int16: INT16
int32: INT32
int32double: INT32DOUBLE
int32float: INT32FLOAT
int32longdouble: INT32LONGDOUBLE
int64: INT64
int64double: INT64DOUBLE
int64float: INT64FLOAT
int64longdouble: INT64LONGDOUBLE
int8: INT8
intconversion: INTCONVERSION
ipv4checksum: IPV4CHECKSUM
jenkin: JENKIN
jmp: JMP
ln2: LN2
longdouble: LONGDOUBLE
loop: LOOP
matrixprod: MATRIXPROD
murmur3_32: MURMUR3_32
nhash: NHASH
nsqrt: NSQRT
omega: OMEGA
parity: PARITY
phi: PHI
pi: PI
pjw: PJW
prime: PRIME
psi: PSI
queens: QUEENS
rand: RAND
rand48: RAND48
rgb: RGB
sdbm: SDBM
sieve: SIEVE
sqrt: SQRT
stats: STATS
trig: TRIG
union: UNION
zeta: ZETA
cpu-ops (int)
Name:
CPU Operations
Description:
Number of bogo operations after which to stop the CPU stress workers
Required:
No
Type:
int
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
HDDStressorParams (object)
Type:
object
Properties
hdd-bytes (string)
Name:
Bytes Per Worker
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per hdd worker to write; the default is 1GB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
hdd-ops (int)
Name:
HDD Operations
Description:
Number of bogo operations after which to stop the hdd stress workers
Required:
No
Type:
int
hdd-opts (list[enum[string]])
Name:
HDD Options
Description:
Various stress test options as a list
Required:
No
Type:
list[enum[string]]
List items
Type:
enum[string]
Values
direct: DIRECT
dsync: DSYNC
fadv-dontneed: FADV_DONTNEED
fadv-noreuse: FADV_NOREUSE
fadv-normal: FADV_NORMAL
fadv-rnd: FADV_RND
fadv-seq: FADV_SEQ
fadv-willneed: FADV_WILLNEED
fdatasync: FDATASYNC
fsync: FSYNC
iovec: IOVEC
noatime: NOATIME
rd-rnd: RD_RND
rd-seq: RD_SEQ
sync: SYNC
syncfs: SYNCFS
utimes: UTIMES
wr-rnd: WR_RND
wr-seq: WR_SEQ
hdd-write-size (string)
Name:
HDD Write Size
Description:
Size of each write in bytes
Required:
No
Type:
string
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
IomixStressorParams (object)
Type:
object
Properties
iomix-bytes (string)
Name:
IOMix bytes
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per iomix worker to process; the default is 1GB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
iomix-ops (int)
Name:
IOMix operations
Description:
Number of bogo iomix I/O operations after which to stop the stress workers
Required:
No
Type:
int
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
MatrixStressorParams (object)
Type:
object
Properties
matrix-method (enum[string])
Name:
Matrix Stressor Method
Description:
Fine grained control of which matrix stressors to use (add, copy, etc.)
Required:
No
Default (JSON encoded):
"all"
Type:
enum[string]
Values
add: ADD
all: ALL
copy: COPY
div: DIV
frobenius: FROBENIUS
hadamard: HADAMARD
identity: IDENTITY
mean: MEAN
mult: MULT
negate: NEGATE
prod: PROD
square: SQUARE
sub: SUB
trans: TRANS
zero: ZERO
matrix-ops (int)
Name:
Matrix Operations
Description:
Number of bogo operations after which to stop the matrix stress workers
Required:
No
Type:
int
matrix-size (int)
Name:
Matrix Size
Description:
Size of the matrices (matrix_size x matrix_size)
Required:
No
Type:
int
matrix-yx (bool)
Name:
Matrix YX
Description:
Perform matrix operations in order Y by X rather than the default X by Y
Required:
No
Type:
bool
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
MmapStressorParams (object)
Type:
object
Properties
mmap-async (bool)
Name:
Mmap Async
Description:
Enable file based memory mapping and use asynchronous msync'ing on each page
Required:
No
Type:
bool
mmap-bytes (string)
Name:
Mmap Bytes
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per mmap worker to allocate; the default is 256MB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
mmap-file (bool)
Name:
Mmap File
Description:
Enable file based memory mapping and by default use synchronous msync'ing on each page
Required:
No
Type:
bool
mmap-mmap2 (bool)
Name:
Mmap mmap2
Description:
Use mmap2 for 4K page aligned offsets if mmap2 is available, otherwise fall back to mmap
Required:
No
Type:
bool
mmap-mprotect (bool)
Name:
Mmap mprotect
Description:
Change protection settings on each page of memory; Each time a page or a group of pages are mapped or remapped then this option will make the pages read-only, write-only, exec-only, and read-write
Required:
No
Type:
bool
mmap-odirect (bool)
Name:
Mmap odirect
Description:
Enable file based memory mapping and use O_DIRECT direct I/O
Required:
No
Type:
bool
mmap-ops (int)
Name:
Mmap Operations
Description:
Number of bogo operations after which to stop the mmap stress workers
Required:
No
Type:
int
mmap-osync (bool)
Name:
Mmap osync
Description:
Enable file based memory mapping and used O_SYNC synchronous I/O integrity completion
Required:
No
Type:
bool
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
MqStressorParams (object)
Type:
object
Properties
mq-ops (int)
Name:
MQ Operations
Description:
Number of bogo POSIX message send operations completed after which to stop the mq stress workers
Required:
No
Type:
int
mq-size (int)
Name:
MQ Size
Description:
Specify size of POSIX message queue; the default size is 10 messages and most Linux systems this is the maximum allowed size for normal users
Required:
No
Type:
int
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
SockStressorParams (object)
Type:
object
Properties
sock-domain (enum[string])
Name:
Sock domain
Description:
Specifies the domain to use ('ipv4', 'ipv6', or 'unix'); the default is 'ipv4'
Required:
No
Default (JSON encoded):
"ipv4"
Type:
enum[string]
Values
ipv4: IPV4
ipv6: IPV6
unix: UNIX
sock-ops (int)
Name:
Sock operations
Description:
Number of bogo sock operations after which to stop socket stress workers
Required:
No
Type:
int
sock-opts (enum[string])
Name:
Sock opts
Description:
Specifies the sending method ('send', 'sendmsg', or 'sendmmsg'); the default is 'send'
Required:
No
Default (JSON encoded):
"send"
Type:
enum[string]
Values
send: SEND
sendmmsg: SENDMMSG
sendmsg: SENDMSG
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
StressNGParams (object)
Type:
object
Properties
cleanup (bool)
Name:
Cleanup
Description:
Cleanup artifacts after the plugin run
Required:
No
Default (JSON encoded):
false
Type:
bool
metrics-brief (bool)
Name:
Brief Metrics
Description:
Brief version of the metrics output
Required:
No
Type:
bool
page-in (bool)
Name:
Page in
Description:
Touch allocated pages that are not in core, forcing them to be paged back in. This is a useful option to force all the allocated pages to be paged in when using the bigheap, mmap and vm stressors.
Required:
No
Type:
bool
stressors (list[one of[string]])
Required:
Yes
Type:
list[one of[string]]
List items
Type:
one of[string]
taskset (string)
Name:
Taskset
Description:
Bind stress-ng to use only the CPUs provided. The value is a comma-separated list (no spaces) of CPU numbers (0 to N-1) or CPU-ranges (2-4).
Number of seconds after which to stop the stress test
Required:
Yes
Type:
int
verbose (bool)
Name:
Verbose
Description:
Verbose output
Required:
No
Type:
bool
workdir (string)
Name:
Working Directory
Description:
Directory in which stress-ng will be executed (for example, to target a specific volume)
Required:
No
Default (JSON encoded):
"/tmp"
Type:
string
VmStressorParams (object)
Type:
object
Properties
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
vm-bytes (string)
Name:
VM Memory Bytes
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per vm worker to allocate; the default is 256MB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
vm-hang (int)
Name:
VM Hang
Description:
Number of seconds to sleep before unmapping memory; the default is zero seconds
Required:
No
Type:
int
vm-keep (bool)
Name:
VM Keep
Description:
Do not continually unmap and map memory, just keep on re-writing to it
Required:
No
Type:
bool
vm-locked (bool)
Name:
VM Locked
Description:
Lock the pages of the mapped region into memory using mmap MAP_LOCKED (since Linux 2.5.37)
Required:
No
Type:
bool
vm-method (enum[string])
Name:
VM Method
Description:
Specify a vm stress method; by default, all the stress methods are exercised sequentially
Required:
No
Default (JSON encoded):
"all"
Type:
enum[string]
Values
all: ALL
flip: FLIP
galpat-0: GALPAT_0
galpat-1: GALPAT_1
gray: GRAY
inc-nybble: INC_NYBBLE
incdec: INCDEC
modulo-x: MODULO_X
move-inv: MOVE_INV
prime-0: PRIME_0
prime-1: PRIME_1
prime-gray-0: PRIME_GRAY_0
prime-gray-1: PRIME_GRAY_1
rand-set: RAND_SET
rand-sum: RAND_SUM
read64: READ64
ror: ROR
rowhammer: ROWHAMMER
swap: SWAP
walk-0a: WALK_0A
walk-0d: WALK_0D
walk-1a: WALK_1A
walk-1d: WALK_1D
write64: WRITE64
zero-one: ZERO_ONE
vm-ops (int)
Name:
VM Operations
Description:
Number of bogo operations after which to stop the vm workers
Required:
No
Type:
int
vm-populate (bool)
Name:
VM Populate
Description:
Populate (prefault) page tables for the memory mappings; this can stress swapping
Required:
No
Type:
bool
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
Outputs
error
Type:
scope
Root object:
WorkloadError
Properties
error (string)
Required:
Yes
Type:
string
ObjectsWorkloadError (object)
Type:
object
Properties
error (string)
Required:
Yes
Type:
string
success
Type:
scope
Root object:
WorkloadResults
Properties
cpuinfo (reference[CPUOutput])
Name:
CPU Output
Description:
CPU stressor output object
Required:
No
Type:
reference[CPUOutput]
Referenced object:
CPUOutput
hddinfo (reference[HDDOutput])
Name:
HDD Output
Description:
HDD stressor output object
Required:
No
Type:
reference[HDDOutput]
Referenced object:
HDDOutput
iomixinfo (reference[IOMixOutput])
Name:
IOMix Output
Description:
IOMix stressor output object
Required:
No
Type:
reference[IOMixOutput]
Referenced object:
IOMixOutput
matrixinfo (reference[MatrixOutput])
Name:
Matrix Output
Description:
Matrix stressor output object
Required:
No
Type:
reference[MatrixOutput]
Referenced object:
MatrixOutput
mmapinfo (reference[MmapOutput])
Name:
Mmap Output
Description:
mmap stressor output object
Required:
No
Type:
reference[MmapOutput]
Referenced object:
MmapOutput
mqinfo (reference[MQOutput])
Name:
MQ Output
Description:
MQ stressor output object
Required:
No
Type:
reference[MQOutput]
Referenced object:
MQOutput
sockinfo (reference[SockOutput])
Name:
Sock Output
Description:
Sock stressor output object
Required:
No
Type:
reference[SockOutput]
Referenced object:
SockOutput
systeminfo (reference[SystemInfoOutput])
Name:
System Info
Description:
System info output object
Required:
Yes
Type:
reference[SystemInfoOutput]
Referenced object:
SystemInfoOutput
test_config (reference[StressNGParams])
Name:
Test configuration
Description:
The stressng test parameters
Required:
Yes
Type:
reference[StressNGParams]
Referenced object:
StressNGParams
vminfo (reference[VMOutput])
Name:
VM Output
Description:
VM stressor output object
Required:
No
Type:
reference[VMOutput]
Referenced object:
VMOutput
ObjectsCPUOutput (object)
Type:
object
Properties
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
CpuStressorParams (object)
Type:
object
Properties
cpu-load (int)
Name:
CPU Load
Description:
Percentage per-worker loading for the CPU; 100 = 1 full CPU core
Required:
No
Type:
int
cpu-method (enum[string])
Name:
CPU Stressor Method
Description:
Specify a cpu stress method; by default, all stress methods are exercised sequentially
Required:
No
Default (JSON encoded):
"all"
Type:
enum[string]
Values
ackermann: ACKERMANN
all: ALL
apery: APERY
bitops: BITOPS
callfunc: CALLFUNC
cdouble: CDOUBLE
cfloat: CFLOAT
clongdouble: CLONGDOUBLE
collatz: COLLATZ
correlate: CORRELATE
cpuid: CPUID
crc16: CRC16
decimal128: DECIMAL128
decimal32: DECIMAL32
decimal64: DECIMAL64
dither: DITHER
div64: DIV64
djb2a: DJB2A
double: DOUBLE
euler: EULER
explog: EXPLOG
factorial: FACTORIAL
fft: FFT
fibonacci: FIBONACCI
fletcher16: FLETCHER16
float: FLOAT
float128: FLOAT128
float16: FLOAT16
float32: FLOAT32
float80: FLOAT80
floatconversion: FLOATCONVERSION
fnv1a: FNV1A
gamma: GAMMA
gcd: GCD
gray: GRAY
hamming: HAMMING
hanoi: HANOI
hyperbolic: HYPERBOLIC
idct: IDCT
int128: INT128
int128decimal128: INT128DECIMAL128
int128decimal32: INT128DECIMAL32
int128decimal64: INT128DECIMAL64
int128double: INT128DOUBLE
int128float: INT128FLOAT
int128longdouble: INT128LONGDOUBLE
int16: INT16
int32: INT32
int32double: INT32DOUBLE
int32float: INT32FLOAT
int32longdouble: INT32LONGDOUBLE
int64: INT64
int64double: INT64DOUBLE
int64float: INT64FLOAT
int64longdouble: INT64LONGDOUBLE
int8: INT8
intconversion: INTCONVERSION
ipv4checksum: IPV4CHECKSUM
jenkin: JENKIN
jmp: JMP
ln2: LN2
longdouble: LONGDOUBLE
loop: LOOP
matrixprod: MATRIXPROD
murmur3_32: MURMUR3_32
nhash: NHASH
nsqrt: NSQRT
omega: OMEGA
parity: PARITY
phi: PHI
pi: PI
pjw: PJW
prime: PRIME
psi: PSI
queens: QUEENS
rand: RAND
rand48: RAND48
rgb: RGB
sdbm: SDBM
sieve: SIEVE
sqrt: SQRT
stats: STATS
trig: TRIG
union: UNION
zeta: ZETA
cpu-ops (int)
Name:
CPU Operations
Description:
Number of bogo operations after which to stop the CPU stress workers
Required:
No
Type:
int
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
HDDOutput (object)
Type:
object
Properties
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
mbsec-read-rate (float)
Name:
Read rate in MB/s
Required:
Yes
Type:
float
mbsec-readwrite-combined-rate (float)
Name:
Read-write combined rate in MB/s
Required:
Yes
Type:
float
mbsec-write-rate (float)
Name:
Write rate in MB/s
Required:
Yes
Type:
float
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
HDDStressorParams (object)
Type:
object
Properties
hdd-bytes (string)
Name:
Bytes Per Worker
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per hdd worker to write; the default is 1GB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
hdd-ops (int)
Name:
HDD Operations
Description:
Number of bogo operations after which to stop the hdd stress workers
Required:
No
Type:
int
hdd-opts (list[enum[string]])
Name:
HDD Options
Description:
Various stress test options as a list
Required:
No
Type:
list[enum[string]]
List items
Type:
enum[string]
Values
direct: DIRECT
dsync: DSYNC
fadv-dontneed: FADV_DONTNEED
fadv-noreuse: FADV_NOREUSE
fadv-normal: FADV_NORMAL
fadv-rnd: FADV_RND
fadv-seq: FADV_SEQ
fadv-willneed: FADV_WILLNEED
fdatasync: FDATASYNC
fsync: FSYNC
iovec: IOVEC
noatime: NOATIME
rd-rnd: RD_RND
rd-seq: RD_SEQ
sync: SYNC
syncfs: SYNCFS
utimes: UTIMES
wr-rnd: WR_RND
wr-seq: WR_SEQ
hdd-write-size (string)
Name:
HDD Write Size
Description:
Size of each write in bytes
Required:
No
Type:
string
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
IOMixOutput (object)
Type:
object
Properties
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
IomixStressorParams (object)
Type:
object
Properties
iomix-bytes (string)
Name:
IOMix bytes
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per iomix worker to process; the default is 1GB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
iomix-ops (int)
Name:
IOMix operations
Description:
Number of bogo iomix I/O operations after which to stop the stress workers
Required:
No
Type:
int
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
MQOutput (object)
Type:
object
Properties
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
MatrixOutput (object)
Type:
object
Properties
add-matrix-ops-per-sec (float)
Name:
Add matrix operations per second
Required:
No
Type:
float
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
copy-matrix-ops-per-sec (float)
Name:
Copy matrix operations per second
Required:
No
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
div-matrix-ops-per-sec (float)
Name:
Div matrix operations per second
Required:
No
Type:
float
frobenius-matrix-ops-per-sec (float)
Name:
Frobenius matrix operations per second
Required:
No
Type:
float
hadamard-matrix-ops-per-sec (float)
Name:
Hadamard matrix operations per second
Required:
No
Type:
float
identity-matrix-ops-per-sec (float)
Name:
Identity matrix operations per second
Required:
No
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
mean-matrix-ops-per-sec (float)
Name:
Mean matrix operations per second
Required:
No
Type:
float
mult-matrix-ops-per-sec (float)
Name:
Mult matrix operations per second
Required:
No
Type:
float
negate-matrix-ops-per-sec (float)
Name:
Negate matrix operations per second
Required:
No
Type:
float
prod-matrix-ops-per-sec (float)
Name:
Prod matrix operations per second
Required:
No
Type:
float
square-matrix-ops-per-sec (float)
Name:
Square matrix operations per second
Required:
No
Type:
float
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
sub-matrix-ops-per-sec (float)
Name:
Sub matrix operations per second
Required:
No
Type:
float
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
trans-matrix-ops-per-sec (float)
Name:
Trans matrix operations per second
Required:
No
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
zero-matrix-ops-per-sec (float)
Name:
Zero matrix operations per second
Required:
No
Type:
float
MatrixStressorParams (object)
Type:
object
Properties
matrix-method (enum[string])
Name:
Matrix Stressor Method
Description:
Fine grained control of which matrix stressors to use (add, copy, etc.)
Required:
No
Default (JSON encoded):
"all"
Type:
enum[string]
Values
add: ADD
all: ALL
copy: COPY
div: DIV
frobenius: FROBENIUS
hadamard: HADAMARD
identity: IDENTITY
mean: MEAN
mult: MULT
negate: NEGATE
prod: PROD
square: SQUARE
sub: SUB
trans: TRANS
zero: ZERO
matrix-ops (int)
Name:
Matrix Operations
Description:
Number of bogo operations after which to stop the matrix stress workers
Required:
No
Type:
int
matrix-size (int)
Name:
Matrix Size
Description:
Size of the matrices (matrix_size x matrix_size)
Required:
No
Type:
int
matrix-yx (bool)
Name:
Matrix YX
Description:
Perform matrix operations in order Y by X rather than the default X by Y
Required:
No
Type:
bool
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
MmapOutput (object)
Type:
object
Properties
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
MmapStressorParams (object)
Type:
object
Properties
mmap-async (bool)
Name:
Mmap Async
Description:
Enable file based memory mapping and use asynchronous msync'ing on each page
Required:
No
Type:
bool
mmap-bytes (string)
Name:
Mmap Bytes
Description:
Number of bytes (with K, M, G, or T unit suffix) or percent (with % suffix) per mmap worker to allocate; the default is 256MB
Required:
No
Type:
string
Must match pattern:
^[1-9]\d*\.?\d*[KkMmGgTt%]$
mmap-file (bool)
Name:
Mmap File
Description:
Enable file based memory mapping and by default use synchronous msync'ing on each page
Required:
No
Type:
bool
mmap-mmap2 (bool)
Name:
Mmap mmap2
Description:
Use mmap2 for 4K page aligned offsets if mmap2 is available, otherwise fall back to mmap
Required:
No
Type:
bool
mmap-mprotect (bool)
Name:
Mmap mprotect
Description:
Change protection settings on each page of memory; Each time a page or a group of pages are mapped or remapped then this option will make the pages read-only, write-only, exec-only, and read-write
Required:
No
Type:
bool
mmap-odirect (bool)
Name:
Mmap odirect
Description:
Enable file based memory mapping and use O_DIRECT direct I/O
Required:
No
Type:
bool
mmap-ops (int)
Name:
Mmap Operations
Description:
Number of bogo operations after which to stop the mmap stress workers
Required:
No
Type:
int
mmap-osync (bool)
Name:
Mmap osync
Description:
Enable file based memory mapping and used O_SYNC synchronous I/O integrity completion
Required:
No
Type:
bool
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
MqStressorParams (object)
Type:
object
Properties
mq-ops (int)
Name:
MQ Operations
Description:
Number of bogo POSIX message send operations completed after which to stop the mq stress workers
Required:
No
Type:
int
mq-size (int)
Name:
MQ Size
Description:
Specify size of POSIX message queue; the default size is 10 messages and most Linux systems this is the maximum allowed size for normal users
Required:
No
Type:
int
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
SockOutput (object)
Type:
object
Properties
bogo-ops (int)
Name:
Bogus Operations
Description:
Number of iterations of the stressor during the run
Required:
Yes
Type:
int
bogo-ops-per-second-real-time (float)
Name:
Bogus operations per second in real time
Description:
Total bogo operations per second based on wall clock run time
Required:
Yes
Type:
float
bogo-ops-per-second-usr-sys-time (float)
Name:
Bogus operations per second in user and sys time
Description:
Total bogo operations per second based on cumulative user and system time
Required:
Yes
Type:
float
byte-average-in-queue-length (float)
Name:
Byte average in queue length
Required:
No
Type:
float
byte-average-out-queue-length (float)
Name:
Byte average out queue length
Required:
No
Type:
float
cpu-usage-per-instance (float)
Name:
CPU usage per instance
Description:
Total percentage of CPU used divided by number of stressor instances; 100% is 1 full CPU
Required:
Yes
Type:
float
max-rss (int)
Name:
Max RSS
Description:
Maximum resident set size
Required:
Yes
Type:
int
messages-sent-per-sec (float)
Name:
Messages sent per second
Required:
No
Type:
float
stressor (string)
Name:
Stressor
Description:
Type of stressor for workload
Required:
Yes
Type:
string
system-time (float)
Name:
CPU System Time
Description:
The CPU time spent in kernel space
Required:
Yes
Type:
float
user-time (float)
Name:
CPU User Time
Description:
The CPU time spent in user space
Required:
Yes
Type:
float
wall-clock-time (float)
Name:
Wall Clock Time
Description:
The time the stressor took to run
Required:
Yes
Type:
float
SockStressorParams (object)
Type:
object
Properties
sock-domain (enum[string])
Name:
Sock domain
Description:
Specifies the domain to use ('ipv4', 'ipv6', or 'unix'); the default is 'ipv4'
Required:
No
Default (JSON encoded):
"ipv4"
Type:
enum[string]
Values
ipv4: IPV4
ipv6: IPV6
unix: UNIX
sock-ops (int)
Name:
Sock operations
Description:
Number of bogo sock operations after which to stop socket stress workers
Required:
No
Type:
int
sock-opts (enum[string])
Name:
Sock opts
Description:
Specifies the sending method ('send', 'sendmsg', or 'sendmmsg'); the default is 'send'
Required:
No
Default (JSON encoded):
"send"
Type:
enum[string]
Values
send: SEND
sendmmsg: SENDMMSG
sendmsg: SENDMSG
stressor (enum[string])
Name:
Stressor
Description:
Stressor for the benchmark workload
Required:
Yes
Type:
enum[string]
Values
cpu: CPU
hdd: HDD
iomix: IOMIX
matrix: MATRIX
mmap: MMAP
mq: MQ
sock: SOCK
vm: VM
workers (int)
Name:
Worker Count
Description:
Number of workers for the stressor; 0 = match the number of on-line CPUs
Required:
Yes
Type:
int
StressNGParams (object)
Type:
object
Properties
cleanup (bool)
Name:
Cleanup
Description:
Cleanup artifacts after the plugin run
Required:
No
Default (JSON encoded):
false
Type:
bool
metrics-brief (bool)
Name:
Brief Metrics
Description:
Brief version of the metrics output
Required:
No
Type:
bool
page-in (bool)
Name:
Page in
Description:
Touch allocated pages that are not in core, forcing them to be paged back in. This is a useful option to force all the allocated pages to be paged in when using the bigheap, mmap and vm stressors.
Required:
No
Type:
bool
stressors (list[one of[string]])
Required:
Yes
Type:
list[one of[string]]
List items
Type:
one of[string]
taskset (string)
Name:
Taskset
Description:
Bind stress-ng to use only the CPUs provided. The value is a comma-separated list (no spaces) of CPU numbers (0 to N-1) or CPU-ranges (2-4).