1CYCLICTEST(8)               System Manager's Manual              CYCLICTEST(8)
2
3
4

NAME

6       cyclictest - High resolution test program
7

SYNOPSIS

9       cyclictest [ -hfmnqrsvMS ] [-a proc ] [-A align ] [-b usec ] [-c clock
10                  ] [-d dist ] [-h histogram ] [-i intv ] [-l loop ] [-o red ]
11                  [-p prio ] [-t num ] [-D time] [-w] [-W] [-y policy ] [ -S |
12                  -U ]
13
14

OPTIONS

16       These programs follow the usual GNU command line syntax, with long
17       options starting with two dashes ('--').
18       A summary of options is included below.
19
20       -a, --affinity[=PROC-SET]
21              Run threads on the set of processors given by PROC-SET.  If
22              PROC-SET is not specified, all processors will be used.  Threads
23              will be assigned to processors in the set in numeric order, in a
24              round-robin fashion.
25              The set of processors can be specified as A,B,C, or A-C, or A-
26              B,D-F, and so on*.  The ! character can be used to negate a set.
27              For example, !B-D means to use all available CPUs except B
28              through D.  The cpu numbers are the same as shown in the
29              processor field in /proc/cpuinfo.  See numa(3) for more
30              information on specifying CPU sets.  * Support for CPU sets
31              requires libnuma version >= 2.  For libnuma v1, PROC-SET, if
32              specified, must be a single CPU number.
33
34       -A, --align=USEC
35              Align thread wakeups to a specific offset in microseconds
36
37       -b, --breaktrace=USEC
38              Send break trace command when latency > USEC
39
40       -c, --clock=CLOCK
41              select clock
42              0 = CLOCK_MONOTONIC (default)
43              1 = CLOCK_REALTIME
44
45       -d, --distance=DIST
46              Distance of thread intervals in us, default = 500
47
48       -D, --duration=TIME
49              Specify a length for the test run.
50              Append 'm', 'h', or 'd' to specify minutes, hours or days.
51
52       --latency=PM_Q0S
53              write PM_Q0S to /dev/cpu_dma_latency
54
55       -F, --fifo=<path>
56              Create a named pipe at path and write stats to it
57
58       -h, --histogram=US
59              Dump latency histogram to stdout after the run. US is the max
60              latency time to be be tracked in microseconds. This option runs
61              all threads at the same priority.
62
63       -H, --histofall=MAXLATENCYINUS
64              Same as -h except that an additional histogram column is
65              displayed at the right that contains summary data of all thread
66              histograms. If cyclictest runs a single thread only, the -H
67              option is equivalent to -h.
68
69       --histfile=<path>
70              Dump the latency histogram to <path> instead of stdout.
71
72       -i, --interval=INTV
73              Set the base interval of the thread(s) in microseconds (default
74              is 1000us). This sets the interval of the first thread. See also
75              -d.
76
77       -l, --loops=LOOPS
78              Set the number of loops. The default is 0 (endless). This option
79              is useful for automated tests with a given number of test
80              cycles. Cyclictest is stopped once the number of timer intervals
81              has been reached.
82
83       --laptop
84              Save battery when running cyclictest. This will give you poorer
85              realtime results, but will not drain your battery so quickly.
86
87       -m, --mlockall
88              Lock current and future memory allocations to prevent being
89              paged out
90
91       -M, --refresh_on_max
92              Delay updating the screen until a new max latency is hit.
93              (useful for running cyclictest on low-bandwidth connections)
94
95       -N, --nsecs
96              Show results in nanoseconds instead of microseconds, which is
97              the default unit.
98
99       -o, --oscope=RED
100              Oscilloscope mode, reduce verbose output by RED.
101
102       -p, --prio=PRIO
103              Set the priority of the first thread. The given priority is set
104              to the first test thread. Each further thread gets a lower
105              priority: Priority(Thread N) = max(Priority(Thread N-1) - 1, 0)
106
107       --policy=NAME
108              set the scheduler policy of the measurement threads where NAME
109              is one of: other, normal, batch, idle, fifo, rr
110
111       --priospread
112              spread priority levels starting at a specified value
113
114       -q, --quiet
115              Print a summary only on exit. Useful for automated tests, where
116              only the summary output needs to be captured.
117
118       -r, --relative
119              Use relative timers instead of absolute. The default behaviour
120              of the tests is to use absolute timers. This option is there for
121              completeness and should not be used for reproducible tests.
122
123       -R, --resolution
124              Check clock resolution, calling clock_gettime() many times. List
125              of lock_gettime() values will be reported with -X
126
127       --secaligned [USEC]
128              align thread wakeups to the next full second and apply the
129              optional offset.
130
131       -s, --system
132              Use sys_nanosleep and sys_setitimer instead of posix timers.
133              Note, that -s can only be used with one thread because itimers
134              are per process and not per thread. -s in combination with -n
135              uses the nanosleep syscall and is not restricted to one thread.
136
137       -S, --smp
138              Set options for standard testing on SMP systems. Equivalent to
139              using the options: "-t -a" as well keeping any specified
140              priority equal across all threads
141
142       --spike=<trigger>
143              record all spikes > trigger
144
145       --spike-nodes=[num of nodes]
146              These are the maximum number of spikes we can record.
147              The default is 1024 if not specified.
148
149       --smi  Enable SMI count/detection on processors with SMI count support.
150
151       -t, --threads[=NUM]
152              Set the number of test threads (default is 1). Create NUM test
153              threads. If NUM is not specified, NUM is set to the number of
154              available CPUs. See -d, -i and -p for further information.
155
156       --tracemark
157              write a trace mark when -b latency is exceeded.
158
159       -u, --unbuffered
160              force unbuffered output for live processing
161
162       -v, --verbose
163              Output values on stdout for statistics. This option is used to
164              gather statistical information about the latency distribution.
165              The output is sent to stdout. The output format is:
166
167              n:c:v
168
169              where n=task number c=count v=latency value in us.
170
171       --dbg_cyclictest
172              Print info userful for debugging cyclictest
173
174       -x, --posix_timers
175              Use POSIX timers instead of clock_nanosleep.
176
177

SEE ALSO

179       numa(3), numactl(8),
180

AUTHOR

182       cyclictest was written by Thomas Gleixner <tglx@linuxtronix.de>.
183
184       This manual page was written by Alessio Igor Bogani
185       <abogani@texware.it>, for the Debian project (but may be used by
186       others).
187       Updated by John Kacur <jkacur@redhat.com>
188
189
190
191                                April 22, 2016                   CYCLICTEST(8)
Impressum