1CYCLICTEST(8) System Manager's Manual CYCLICTEST(8)
2
3
4
6 cyclictest - High resolution test program
7
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
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
179 numa(3), numactl(8),
180
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)