"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "stress-ng.1" between
stress-ng-0.13.04.tar.xz and stress-ng-0.13.05.tar.xz

About: 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.

stress-ng.1  (stress-ng-0.13.04.tar.xz):stress-ng.1  (stress-ng-0.13.05.tar.xz)
.\" Hey, EMACS: -*- nroff -*- .\" Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH STRESS-NG 1 "Sep 14, 2021" .TH STRESS-NG 1 "Oct 11, 2021"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
.\" .nh disable hyphenation .\" .nh disable hyphenation
.\" .hy enable hyphenation .\" .hy enable hyphenation
.\" .ad l left justify .\" .ad l left justify
.\" .ad b justify to both left and right margins .\" .ad b justify to both left and right margins
.\" .nf disable filling .\" .nf disable filling
.\" .fi enable filling .\" .fi enable filling
.\" .br insert line break .\" .br insert line break
.\" .sp <n> insert n+1 empty lines .\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7) .\" for manpage-specific macros, see man(7)
.\" .\"
.\" left margin - right margin minus a fudge factor .\" left margin - right margin minus a fudge factor
.nr SZ ((\n[.l] - \n[.i]) / 1n - 31)
.nr SM ((\n[.l] - \n[.i]) / 1n - 41)
.nr SV ((\n[.l] - \n[.i]) / 1n - 38)
.nr SQ ((\n[.l] - \n[.i]) / 1n - 35)
.SH NAME .SH NAME
stress\-ng \- a tool to load and stress a computer system stress\-ng \- a tool to load and stress a computer system
.sp 1 .sp 1
.SH SYNOPSIS .SH SYNOPSIS
.B stress\-ng .B stress\-ng
[\fIOPTION \fR[\fIARG\fR]] ... [\fIOPTION \fR[\fIARG\fR]] ...
.sp 1 .sp 1
.SH DESCRIPTION .SH DESCRIPTION
stress\-ng will stress test a computer system in various selectable ways. It 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 was designed to exercise various physical subsystems of a computer as well
skipping to change at line 133 skipping to change at line 129
option. For besteffort or realtime values 0 (highest priority) to 7 (lowest option. For besteffort or realtime values 0 (highest priority) to 7 (lowest
priority). See ionice(1) for more details. priority). See ionice(1) for more details.
.TP .TP
.B \-\-iostat S .B \-\-iostat S
every S seconds show I/O statistics on the device that stores the stress-ng every S seconds show I/O statistics on the device that stores the stress-ng
temporary files. This is either the device of the current working directory temporary files. This is either the device of the current working directory
or the \-\-temp\-path specified path. Currently a Linux only option. or the \-\-temp\-path specified path. Currently a Linux only option.
The fields output are: The fields output are:
.TS .TS
expand; expand;
lB lBw(\n[SZ]n) lB lB lB
l l. l l s.
Column Heading Explanation Column Heading Explanation
T{ T{
Inflight Inflight
T} T{ T} T{
number of I/O requests that have been issued to number of I/O requests that have been issued to
the device driver but have not yet completed the device driver but have not yet completed
T} T}
T{ T{
Rd K/s Rd K/s
T} T{ T} T{
skipping to change at line 250 skipping to change at line 246
output number of bogo operations in total performed by the stress processes. output number of bogo operations in total performed by the stress processes.
Note that these are not a reliable metric of performance or throughput and Note that these are not a reliable metric of performance or throughput and
have not been designed to be used for benchmarking whatsoever. The metrics are have not been designed to be used for benchmarking whatsoever. The metrics are
just a useful way to observe how a system behaves when under various kinds of just a useful way to observe how a system behaves when under various kinds of
load. load.
.RS .RS
.PP .PP
The following columns of information are output: The following columns of information are output:
.TS .TS
expand; expand;
lB lBw(\n[SM]n) lB lB lB
l l. l l s.
Column Heading Explanation Column Heading Explanation
T{ T{
bogo ops bogo ops
T} T{ T} T{
number of iterations of the stressor during the run. This is metric of number of iterations of the stressor during the run. This is metric of
how much overall "work" has been achieved in bogo operations. how much overall "work" has been achieved in bogo operations.
T} T}
T{ T{
real time (secs) real time (secs)
T} T{ T} T{
skipping to change at line 319 skipping to change at line 315
.B \-\-minimize .B \-\-minimize
overrides the default stressor settings and instead sets these to the minimum overrides the default stressor settings and instead sets these to the minimum
settings allowed. These defaults can always be overridden by the per stressor settings allowed. These defaults can always be overridden by the per stressor
settings options if required. settings options if required.
.TP .TP
.B \-\-no\-madvise .B \-\-no\-madvise
from version 0.02.26 stress\-ng automatically calls madvise(2) with random from version 0.02.26 stress\-ng automatically calls madvise(2) with random
advise options before each mmap and munmap to stress the vm subsystem a advise options before each mmap and munmap to stress the vm subsystem a
little harder. The \-\-no\-advise option turns this default off. little harder. The \-\-no\-advise option turns this default off.
.TP .TP
.B \-\-no\-oom\-adjust
disable any form of out-of-memory score adjustments, keep the system defaults.
Normally stress-ng will adjust the out-of-memory scores on stressors to try
to create more memory pressure. This option disables the adjustments.
.TP
.B \-\-no\-rand\-seed .B \-\-no\-rand\-seed
Do not seed the stress-ng pseudo-random number generator with a quasi random Do not seed the stress-ng pseudo-random number generator with a quasi random
start seed, but instead seed it with constant values. This forces tests to start seed, but instead seed it with constant values. This forces tests to
run each time using the same start conditions which can be useful when one run each time using the same start conditions which can be useful when one
requires reproducible stress tests. requires reproducible stress tests.
.TP .TP
.B \-\-oomable .B \-\-oomable
Do not respawn a stressor if it gets killed by the Out-of-Memory (OOM) killer. Do not respawn a stressor if it gets killed by the Out-of-Memory (OOM) killer.
The default behaviour is to restart a new instance of a stressor if the kernel The default behaviour is to restart a new instance of a stressor if the kernel
OOM killer terminates the process. This option disables this default OOM killer terminates the process. This option disables this default
skipping to change at line 440 skipping to change at line 441
.TP .TP
.B \-\-thrash .B \-\-thrash
This can only be used when running on Linux and with root privilege. This This can only be used when running on Linux and with root privilege. This
option starts a background thrasher process that works through all the option starts a background thrasher process that works through all the
processes on a system and tries to page as many pages in the processes processes on a system and tries to page as many pages in the processes
as possible. It also periodically drops the page cache, frees reclaimable as possible. It also periodically drops the page cache, frees reclaimable
slab objects and pagecache. This will cause considerable amount of slab objects and pagecache. This will cause considerable amount of
thrashing of swap on an over-committed system. thrashing of swap on an over-committed system.
.TP .TP
.B \-t N, \-\-timeout T .B \-t N, \-\-timeout T
stop stress test after T seconds. One can also specify the units of time in run each stress test for at least T seconds. One can also specify the units
seconds, minutes, hours, days or years with the suffix s, m, h, d or y. of time in seconds, minutes, hours, days or years with the suffix s, m, h,
Note: A timeout of 0 will run stress-ng without any timeouts (run forever). d or y. Each stressor will be sent a SIGALRM signal at the timeout time, however
if the stress test is swapped out, in a non-interritable system call or
performing clean up (such as removing hundreds of test file) it may take a
while to finally terminate. A 0 timeout will run stress-ng for ever with
no timeout.
.TP .TP
.B \--timestamp .B \--timestamp
add a timestamp in hours, minutes, seconds and hundredths of a second to the add a timestamp in hours, minutes, seconds and hundredths of a second to the
log output. log output.
.TP .TP
.B \-\-timer\-slack N .B \-\-timer\-slack N
adjust the per process timer slack to N nanoseconds (Linux only). Increasing adjust the per process timer slack to N nanoseconds (Linux only). Increasing
the timer slack allows the kernel to coalesce timer events by adding some the timer slack allows the kernel to coalesce timer events by adding some
fuzziness to timer expiration times and hence reduce wakeups. Conversely, fuzziness to timer expiration times and hence reduce wakeups. Conversely,
decreasing the timer slack will increase wakeups. A value of 0 for the decreasing the timer slack will increase wakeups. A value of 0 for the
skipping to change at line 900 skipping to change at line 905
Note: This option only applies to the \-\-cpu stressor option and not to Note: This option only applies to the \-\-cpu stressor option and not to
all of the cpu class of stressors. all of the cpu class of stressors.
.TP .TP
.B \-\-cpu\-method method .B \-\-cpu\-method method
specify a cpu stress method. By default, all the stress methods are exercised specify a cpu stress method. By default, all the stress methods are exercised
sequentially, however one can specify just one method to be used if required. sequentially, however one can specify just one method to be used if required.
Available cpu stress methods are described as follows: Available cpu stress methods are described as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB
l l. l l s.
Method Description Method Description
all T{ all T{
iterate over all the below cpu stress methods iterate over all the below cpu stress methods
T} T}
ackermann T{ ackermann T{
Ackermann function: compute A(3, 7), where: Ackermann function: compute A(3, 7), where:
A(m, n) = n + 1 if m = 0; A(m, n) = n + 1 if m = 0;
A(m - 1, 1) if m > 0 and n = 0; A(m - 1, 1) if m > 0 and n = 0;
A(m - 1, A(m, n - 1)) if m > 0 and n > 0 A(m - 1, A(m, n - 1)) if m > 0 and n > 0
T} T}
skipping to change at line 1279 skipping to change at line 1284
.TP .TP
.B \-\-cyclic\-dist N .B \-\-cyclic\-dist N
calculate and print a latency distribution with the interval of N nanoseconds. calculate and print a latency distribution with the interval of N nanoseconds.
This is helpful to see where the latencies are clustering. This is helpful to see where the latencies are clustering.
.TP .TP
.B \-\-cyclic\-method [ clock_ns | itimer | poll | posix_ns | pselect | usleep ] .B \-\-cyclic\-method [ clock_ns | itimer | poll | posix_ns | pselect | usleep ]
specify the cyclic method to be used, the default is clock_ns. The available specify the cyclic method to be used, the default is clock_ns. The available
cyclic methods are as follows: cyclic methods are as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB
l l. l l s.
Method Description Method Description
clock_ns T{ clock_ns T{
sleep for the specified time using the clock_nanosleep(2) high sleep for the specified time using the clock_nanosleep(2) high
resolution nanosleep and the CLOCK_REALTIME real time clock. resolution nanosleep and the CLOCK_REALTIME real time clock.
T} T}
itimer T{ itimer T{
wakeup a paused process with a CLOCK_REALTIME itimer signal. wakeup a paused process with a CLOCK_REALTIME itimer signal.
T} T}
poll T{ poll T{
delay for the specified time using a poll delay loop that checks delay for the specified time using a poll delay loop that checks
skipping to change at line 1631 skipping to change at line 1636
it can exceed the file system allowed filename length was well as test it can exceed the file system allowed filename length was well as test
various filename lengths between 1 and the maximum allowed by the file system. various filename lengths between 1 and the maximum allowed by the file system.
.TP .TP
.B \-\-filename-ops N .B \-\-filename-ops N
stop filename workers after N bogo filename tests. stop filename workers after N bogo filename tests.
.TP .TP
.B \-\-filename-opts opt .B \-\-filename-opts opt
use characters in the filename based on option 'opt'. Valid options are: use characters in the filename based on option 'opt'. Valid options are:
.TS .TS
expand; expand;
lB lBw(\n[SZ]n) lB lB lB lB
l l. l l s s.
Option Description Option Description
probe T{ probe T{
default option, probe the file system for valid allowed characters in a file nam e default option, probe the file system for valid allowed characters in a file nam e
and use these and use these
T} T}
posix T{ posix T{
use characters as specified by The Open Group Base Specifications Issue 7, use characters as specified by The Open Group Base Specifications Issue 7,
POSIX.1-2008, 3.278 Portable Filename Character Set POSIX.1-2008, 3.278 Portable Filename Character Set
T} T}
ext T{ ext T{
skipping to change at line 1800 skipping to change at line 1805
.B \-\-hdd\-bytes N .B \-\-hdd\-bytes N
write N bytes for each hdd process, the default is 1 GB. One can specify the write N bytes for each hdd process, the default is 1 GB. One can specify the
size as % of free space on the file system or in units of Bytes, KBytes, MBytes size as % of free space on the file system or in units of Bytes, KBytes, MBytes
and GBytes using the suffix b, k, m or g. and GBytes using the suffix b, k, m or g.
.TP .TP
.B \-\-hdd\-opts list .B \-\-hdd\-opts list
specify various stress test options as a comma separated list. Options are as specify various stress test options as a comma separated list. Options are as
follows: follows:
.TS .TS
expand; expand;
lB lBw(\n[SZ]n) lB lB lB lB
l l. l l s s.
Option Description Option Description
direct T{ direct T{
try to minimize cache effects of the I/O. File I/O writes are performed try to minimize cache effects of the I/O. File I/O writes are performed
directly from user space buffers and synchronous transfer is also attempted. directly from user space buffers and synchronous transfer is also attempted.
To guarantee synchronous I/O, also use the sync option. To guarantee synchronous I/O, also use the sync option.
T} T}
dsync T{ dsync T{
ensure output has been transferred to underlying hardware and file metadata ensure output has been transferred to underlying hardware and file metadata
has been updated (using the O_DSYNC open flag). This is equivalent to each has been updated (using the O_DSYNC open flag). This is equivalent to each
write(2) being followed by a call to fdatasync(2). See also the fdatasync write(2) being followed by a call to fdatasync(2). See also the fdatasync
skipping to change at line 2087 skipping to change at line 2092
start N workers that create and manipulate keys using add_key(2) and start N workers that create and manipulate keys using add_key(2) and
ketctl(2). As many keys are created as the per user limit allows and then the ketctl(2). As many keys are created as the per user limit allows and then the
following keyctl commands are exercised on each key: KEYCTL_SET_TIMEOUT, following keyctl commands are exercised on each key: KEYCTL_SET_TIMEOUT,
KEYCTL_DESCRIBE, KEYCTL_UPDATE, KEYCTL_READ, KEYCTL_CLEAR and KEYCTL_DESCRIBE, KEYCTL_UPDATE, KEYCTL_READ, KEYCTL_CLEAR and
KEYCTL_INVALIDATE. KEYCTL_INVALIDATE.
.TP .TP
.B \-\-key\-ops N .B \-\-key\-ops N
stop key workers after N bogo key operations. stop key workers after N bogo key operations.
.TP .TP
.B \-\-kill N .B \-\-kill N
start N workers sending SIGUSR1 kill signals to a SIG_IGN signal handler. Most start N workers sending SIGUSR1 kill signals to a SIG_IGN signal handler
of the process time will end up in kernel space. in the stressor and SIGUSR1 kill signal to a child stressor with a SIGUSR1
handler. Most of the process time will end up in kernel space.
.TP .TP
.B \-\-kill\-ops N .B \-\-kill\-ops N
stop kill workers after N bogo kill operations. stop kill workers after N bogo kill operations.
.TP .TP
.B \-\-klog N .B \-\-klog N
start N workers exercising the kernel syslog(2) system call. This will start N workers exercising the kernel syslog(2) system call. This will
attempt to read the kernel log with various sized read buffers. Linux only. attempt to read the kernel log with various sized read buffers. Linux only.
.TP .TP
.B \-\-klog\-ops N .B \-\-klog\-ops N
stop klog workers after N syslog operations. stop klog workers after N syslog operations.
skipping to change at line 2327 skipping to change at line 2333
\-\-matrix\-method option. \-\-matrix\-method option.
.TP .TP
.B \-\-matrix\-ops N .B \-\-matrix\-ops N
stop matrix stress workers after N bogo operations. stop matrix stress workers after N bogo operations.
.TP .TP
.B \-\-matrix\-method method .B \-\-matrix\-method method
specify a matrix stress method. Available matrix stress methods are described specify a matrix stress method. Available matrix stress methods are described
as follows: as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
iterate over all the below matrix stress methods iterate over all the below matrix stress methods
T} T}
add T{ add T{
add two N \(mu N matrices add two N \(mu N matrices
T} T}
copy T{ copy T{
copy one N \(mu N matrix to another copy one N \(mu N matrix to another
T} T}
skipping to change at line 2405 skipping to change at line 2411
\-\-matrix\-3d\-method option. \-\-matrix\-3d\-method option.
.TP .TP
.B \-\-matrix\-3d\-ops N .B \-\-matrix\-3d\-ops N
stop the 3D matrix stress workers after N bogo operations. stop the 3D matrix stress workers after N bogo operations.
.TP .TP
.B \-\-matrix\-3d\-method method .B \-\-matrix\-3d\-method method
specify a 3D matrix stress method. Available 3D matrix stress methods are descri bed specify a 3D matrix stress method. Available 3D matrix stress methods are descri bed
as follows: as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
iterate over all the below matrix stress methods iterate over all the below matrix stress methods
T} T}
add T{ add T{
add two N \(mu N \(mu N matrices add two N \(mu N \(mu N matrices
T} T}
copy T{ copy T{
copy one N \(mu N \(mu N matrix to another copy one N \(mu N \(mu N matrix to another
T} T}
skipping to change at line 2488 skipping to change at line 2494
different alignments. This will exercise processor cache and system memory. different alignments. This will exercise processor cache and system memory.
.TP .TP
.B \-\-memcpy\-ops N .B \-\-memcpy\-ops N
stop memcpy stress workers after N bogo memcpy operations. stop memcpy stress workers after N bogo memcpy operations.
.TP .TP
.B \-\-memcpy\-method [ all | libc | builtin | naive ] .B \-\-memcpy\-method [ all | libc | builtin | naive ]
specify a memcpy copying method. Available memcpy methods are described specify a memcpy copying method. Available memcpy methods are described
as follows: as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
use libc, builtin and naive methods use libc, builtin and naive methods
T} T}
libc T{ libc T{
use libc memcpy and memmove functions, this is the default use libc memcpy and memmove functions, this is the default
T} T}
builtin T{ builtin T{
use the compiler built in optimized memcpy and memmove functions use the compiler built in optimized memcpy and memmove functions
T} T}
skipping to change at line 2576 skipping to change at line 2582
the number of CPUs. the number of CPUs.
.TP .TP
.B \-\-memthrash-ops N .B \-\-memthrash-ops N
stop after N memthrash bogo operations. stop after N memthrash bogo operations.
.TP .TP
.B \-\-memthrash\-method method .B \-\-memthrash\-method method
specify a memthrash stress method. Available memthrash stress methods are descri bed specify a memthrash stress method. Available memthrash stress methods are descri bed
as follows: as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
iterate over all the below memthrash methods iterate over all the below memthrash methods
T} T}
chunk1 T{ chunk1 T{
memset 1 byte chunks of random data into random locations memset 1 byte chunks of random data into random locations
T} T}
chunk8 T{ chunk8 T{
memset 8 byte chunks of random data into random locations memset 8 byte chunks of random data into random locations
T} T}
skipping to change at line 2675 skipping to change at line 2681
handled and the misaligned stressor method causing the error is disabled. handled and the misaligned stressor method causing the error is disabled.
.TP .TP
.B \-\-misaligned\-ops N .B \-\-misaligned\-ops N
stop after N misaligned bogo operation. A misaligned bogo op is equivalent stop after N misaligned bogo operation. A misaligned bogo op is equivalent
to 65536 x 128 bit reads or writes. to 65536 x 128 bit reads or writes.
.TP .TP
.B \-\-misaligned\-method M .B \-\-misaligned\-method M
Available misaligned stress methods are described as follows: Available misaligned stress methods are described as follows:
.TS .TS
expand; expand;
lBw(10n)2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all iterate over all the following misaligned methods all iterate over all the following misaligned methods
int16rd 8 x 16 bit integer reads int16rd 8 x 16 bit integer reads
int16wr 8 x 16 bit integer writes int16wr 8 x 16 bit integer writes
int16inc 8 x 16 bit integer increments int16inc 8 x 16 bit integer increments
int16atomic 8 x 16 bit atomic integer increments int16atomic 8 x 16 bit atomic integer increments
int32rd 4 x 32 bit integer reads int32rd 4 x 32 bit integer reads
int32wr 4 x 32 bit integer writes int32wr 4 x 32 bit integer writes
int32inc 4 x 32 bit integer increments int32inc 4 x 32 bit integer increments
int32atomic 4 x 32 bit atomic integer increments int32atomic 4 x 32 bit atomic integer increments
skipping to change at line 3010 skipping to change at line 3016
.TP .TP
.B \-\-opcode\-ops N .B \-\-opcode\-ops N
stop after N attempts to execute illegal code. stop after N attempts to execute illegal code.
.TP .TP
.B \-\-opcode\-method [ inc | mixed | random | text ] .B \-\-opcode\-method [ inc | mixed | random | text ]
select the opcode generation method. By default, random bytes are used to select the opcode generation method. By default, random bytes are used to
generate the executable code. This option allows one to select one of the generate the executable code. This option allows one to select one of the
three methods: three methods:
.TS .TS
expand; expand;
lBw(8n) lBw(\n[SV]n) lBw(8n) lB lB
l l. l l s.
Method Description Method Description
inc T{ inc T{
use incrementing 32 bit opcode patterns from 0x00000000 to 0xfffffff inclusive. use incrementing 32 bit opcode patterns from 0x00000000 to 0xfffffff inclusive.
T} T}
mixed T{ mixed T{
use a mix of incrementing 32 bit opcode patterns and random 32 bit opcode patter ns that use a mix of incrementing 32 bit opcode patterns and random 32 bit opcode patter ns that
are also inverted, encoded with gray encoding and bit reversed. are also inverted, encoded with gray encoding and bit reversed.
T} T}
random T{ random T{
generate opcodes using random bytes from a mwc random generator. generate opcodes using random bytes from a mwc random generator.
skipping to change at line 3266 skipping to change at line 3272
\-\-rawdev\-method option). This is a Linux only stressor and requires \-\-rawdev\-method option). This is a Linux only stressor and requires
root privilege to be able to read the raw device. root privilege to be able to read the raw device.
.TP .TP
.B \-\-rawdev\-ops N .B \-\-rawdev\-ops N
stop the rawdev stress workers after N raw device read bogo operations. stop the rawdev stress workers after N raw device read bogo operations.
.TP .TP
.B \-\-rawdev\-method M .B \-\-rawdev\-method M
Available rawdev stress methods are described as follows: Available rawdev stress methods are described as follows:
.TS .TS
expand; expand;
lBw(10n)2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
iterate over all the rawdev stress methods as listed below: iterate over all the rawdev stress methods as listed below:
T} T}
sweep T{ sweep T{
repeatedly read across the raw device from the 0th block to the end block in ste ps repeatedly read across the raw device from the 0th block to the end block in ste ps
of the number of blocks on the device / 128 and back to the start again. of the number of blocks on the device / 128 and back to the start again.
T} T}
wiggle T{ wiggle T{
repeatedly read across the raw device in 128 evenly steps with each step reading repeatedly read across the raw device in 128 evenly steps with each step reading
skipping to change at line 3930 skipping to change at line 3936
stop after N bogo string operations. stop after N bogo string operations.
.TP .TP
.B \-\-stream N .B \-\-stream N
start N workers exercising a memory bandwidth stressor loosely based on the start N workers exercising a memory bandwidth stressor loosely based on the
STREAM "Sustainable Memory Bandwidth in High Performance Computers" benchmarking STREAM "Sustainable Memory Bandwidth in High Performance Computers" benchmarking
tool by John D. McCalpin, Ph.D. This stressor allocates buffers that are at tool by John D. McCalpin, Ph.D. This stressor allocates buffers that are at
least 4 times the size of the CPU L2 cache and continually performs rounds of least 4 times the size of the CPU L2 cache and continually performs rounds of
following computations on large arrays of double precision floating point number s: following computations on large arrays of double precision floating point number s:
.TS .TS
expand; expand;
lB2 lBw(\n[SQ]n) lB2 lB lB
l l. l l s.
Operation Description Operation Description
copy T{ copy T{
c[i] = a[i] c[i] = a[i]
T} T}
scale T{ scale T{
b[i] = scalar * c[i] b[i] = scalar * c[i]
T} T}
add T{ add T{
c[i] = a[i] + b[i] c[i] = a[i] + b[i]
T} T}
skipping to change at line 4400 skipping to change at line 4406
guarantee of touching page addresses in any particular physical order. These guarantee of touching page addresses in any particular physical order. These
workers should not be used to test that all the system's memory is working workers should not be used to test that all the system's memory is working
correctly either, use tools such as memtest86 instead. correctly either, use tools such as memtest86 instead.
.PP .PP
The vm stress methods are intended to exercise memory in ways to possibly find The vm stress methods are intended to exercise memory in ways to possibly find
memory issues and to try to force thermal errors. memory issues and to try to force thermal errors.
.PP .PP
Available vm stress methods are described as follows: Available vm stress methods are described as follows:
.TS .TS
expand; expand;
lBw(10n)2 lBw(\n[SV]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
iterate over all the vm stress methods as listed below. iterate over all the vm stress methods as listed below.
T} T}
flip T{ flip T{
sequentially work through memory 8 times, each time just one bit in memory sequentially work through memory 8 times, each time just one bit in memory
flipped (inverted). This will effectively invert each byte in 8 passes. flipped (inverted). This will effectively invert each byte in 8 passes.
T} T}
galpat-0 T{ galpat-0 T{
galloping pattern zeros. This sets all bits to 0 and flips just 1 in 4096 bits galloping pattern zeros. This sets all bits to 0 and flips just 1 in 4096 bits
skipping to change at line 4471 skipping to change at line 4477
bit pattern and again check if the memory is set as expected. bit pattern and again check if the memory is set as expected.
T} T}
modulo-x T{ modulo-x T{
fill memory over 23 iterations. Each iteration starts one byte further along fill memory over 23 iterations. Each iteration starts one byte further along
from the start of the memory and steps along in 23 byte strides. In each from the start of the memory and steps along in 23 byte strides. In each
stride, the first byte is set to a random pattern and all other bytes are set stride, the first byte is set to a random pattern and all other bytes are set
to the inverse. Then it checks see if the first byte contains the expected to the inverse. Then it checks see if the first byte contains the expected
random pattern. This exercises cache store/reads as well as seeing if random pattern. This exercises cache store/reads as well as seeing if
neighbouring cells influence each other. neighbouring cells influence each other.
T} T}
mscan T{
fill each bit in each byte with 1s then check these are set, fill each bit
in each byte with 0s and check these are clear.
T}
prime-0 T{ prime-0 T{
iterate 8 times by stepping through memory in very large prime strides clearing iterate 8 times by stepping through memory in very large prime strides clearing
just on bit at a time in every byte. Then check to see if all bits are set to just on bit at a time in every byte. Then check to see if all bits are set to
zero. zero.
T} T}
prime-1 T{ prime-1 T{
iterate 8 times by stepping through memory in very large prime strides setting iterate 8 times by stepping through memory in very large prime strides setting
just on bit at a time in every byte. Then check to see if all bits are set to just on bit at a time in every byte. Then check to see if all bits are set to
one. one.
T} T}
skipping to change at line 4555 skipping to change at line 4565
stop N workers after N bogo addressing passes. stop N workers after N bogo addressing passes.
.TP .TP
.B \-\-vm\-addr\-method M .B \-\-vm\-addr\-method M
specify a vm address stress method. By default, all the stress methods are exerc ised specify a vm address stress method. By default, all the stress methods are exerc ised
sequentially, however one can specify just one method to be used if required. sequentially, however one can specify just one method to be used if required.
.RS .RS
.PP .PP
Available vm address stress methods are described as follows: Available vm address stress methods are described as follows:
.TS .TS
expand; expand;
lBw(10n)2 lBw(\n[SV]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
all T{ all T{
iterate over all the vm stress methods as listed below. iterate over all the vm stress methods as listed below.
T} T}
pwr2 T{ pwr2 T{
work through memory addresses in steps of powers of two. work through memory addresses in steps of powers of two.
T} T}
pwr2inv T{ pwr2inv T{
like pwr2, but with the all relevant address bits inverted. like pwr2, but with the all relevant address bits inverted.
T} T}
skipping to change at line 4722 skipping to change at line 4732
specify the compression level (0..9), where 0 = no compression, 1 = fastest specify the compression level (0..9), where 0 = no compression, 1 = fastest
compression and 9 = best compression. compression and 9 = best compression.
.TP .TP
.B \-\-zlib\-method method .B \-\-zlib\-method method
specify the type of random data to send to the zlib library. By default, specify the type of random data to send to the zlib library. By default,
the data stream is created from a random selection of the different data the data stream is created from a random selection of the different data
generation processes. However one can specify just one method to be used if req uired. generation processes. However one can specify just one method to be used if req uired.
Available zlib data generation methods are described as follows: Available zlib data generation methods are described as follows:
.TS .TS
expand; expand;
lB2 lBw(\n[SZ]n) lB2 lB lB lB
l l. l l s s.
Method Description Method Description
00ff T{ 00ff T{
randomly distributed 0x00 and 0xFF values. randomly distributed 0x00 and 0xFF values.
T} T}
ascii01 T{ ascii01 T{
randomly distributed ASCII 0 and 1 characters. randomly distributed ASCII 0 and 1 characters.
T} T}
asciidigits T{ asciidigits T{
randomly distributed ASCII digits in the range of 0 and 9. randomly distributed ASCII digits in the range of 0 and 9.
T} T}
 End of changes. 23 change blocks. 
44 lines changed or deleted 54 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)