.. | .. |
---|
53 | 53 | --group:: |
---|
54 | 54 | Put the counters into a counter group. |
---|
55 | 55 | |
---|
| 56 | +--group-sort-idx:: |
---|
| 57 | + Sort the output by the event at the index n in group. If n is invalid, |
---|
| 58 | + sort by the first event. It can support multiple groups with different |
---|
| 59 | + amount of events. WARNING: This should be used on grouped events. |
---|
| 60 | + |
---|
56 | 61 | -F <freq>:: |
---|
57 | 62 | --freq=<freq>:: |
---|
58 | 63 | Profile at this frequency. Use 'max' to use the currently maximum |
---|
.. | .. |
---|
69 | 74 | |
---|
70 | 75 | --ignore-vmlinux:: |
---|
71 | 76 | Ignore vmlinux files. |
---|
| 77 | + |
---|
| 78 | +--kallsyms=<file>:: |
---|
| 79 | + kallsyms pathname |
---|
72 | 80 | |
---|
73 | 81 | -m <pages>:: |
---|
74 | 82 | --mmap-pages=<pages>:: |
---|
.. | .. |
---|
154 | 162 | |
---|
155 | 163 | -M:: |
---|
156 | 164 | --disassembler-style=:: Set disassembler style for objdump. |
---|
| 165 | + |
---|
| 166 | +--prefix=PREFIX:: |
---|
| 167 | +--prefix-strip=N:: |
---|
| 168 | + Remove first N entries from source file path names in executables |
---|
| 169 | + and add PREFIX. This allows to display source code compiled on systems |
---|
| 170 | + with different file system layout. |
---|
157 | 171 | |
---|
158 | 172 | --source:: |
---|
159 | 173 | Interleave source code with assembly code. Enabled by default, |
---|
.. | .. |
---|
242 | 256 | --hierarchy:: |
---|
243 | 257 | Enable hierarchy output. |
---|
244 | 258 | |
---|
| 259 | +--overwrite:: |
---|
| 260 | + Enable this to use just the most recent records, which helps in high core count |
---|
| 261 | + machines such as Knights Landing/Mill, but right now is disabled by default as |
---|
| 262 | + the pausing used in this technique is leading to loss of metadata events such |
---|
| 263 | + as PERF_RECORD_MMAP which makes 'perf top' unable to resolve samples, leading |
---|
| 264 | + to lots of unknown samples appearing on the UI. Enable this if you are in such |
---|
| 265 | + machines and profiling a workload that doesn't creates short lived threads and/or |
---|
| 266 | + doesn't uses many executable mmap operations. Work is being planed to solve |
---|
| 267 | + this situation, till then, this will remain disabled by default. |
---|
| 268 | + |
---|
245 | 269 | --force:: |
---|
246 | 270 | Don't do ownership validation. |
---|
247 | 271 | |
---|
.. | .. |
---|
249 | 273 | The number of threads to run when synthesizing events for existing processes. |
---|
250 | 274 | By default, the number of threads equals to the number of online CPUs. |
---|
251 | 275 | |
---|
| 276 | +--namespaces:: |
---|
| 277 | + Record events of type PERF_RECORD_NAMESPACES and display it with the |
---|
| 278 | + 'cgroup_id' sort key. |
---|
| 279 | + |
---|
| 280 | +--all-cgroups:: |
---|
| 281 | + Record events of type PERF_RECORD_CGROUP and display it with the |
---|
| 282 | + 'cgroup' sort key. |
---|
| 283 | + |
---|
| 284 | +--switch-on EVENT_NAME:: |
---|
| 285 | + Only consider events after this event is found. |
---|
| 286 | + |
---|
| 287 | + E.g.: |
---|
| 288 | + |
---|
| 289 | + Find out where broadcast packets are handled |
---|
| 290 | + |
---|
| 291 | + perf probe -L icmp_rcv |
---|
| 292 | + |
---|
| 293 | + Insert a probe there: |
---|
| 294 | + |
---|
| 295 | + perf probe icmp_rcv:59 |
---|
| 296 | + |
---|
| 297 | + Start perf top and ask it to only consider the cycles events when a |
---|
| 298 | + broadcast packet arrives This will show a menu with two entries and |
---|
| 299 | + will start counting when a broadcast packet arrives: |
---|
| 300 | + |
---|
| 301 | + perf top -e cycles,probe:icmp_rcv --switch-on=probe:icmp_rcv |
---|
| 302 | + |
---|
| 303 | + Alternatively one can ask for --group and then two overhead columns |
---|
| 304 | + will appear, the first for cycles and the second for the switch-on event. |
---|
| 305 | + |
---|
| 306 | + perf top --group -e cycles,probe:icmp_rcv --switch-on=probe:icmp_rcv |
---|
| 307 | + |
---|
| 308 | + This may be interesting to measure a workload only after some initialization |
---|
| 309 | + phase is over, i.e. insert a perf probe at that point and use the above |
---|
| 310 | + examples replacing probe:icmp_rcv with the just-after-init probe. |
---|
| 311 | + |
---|
| 312 | +--switch-off EVENT_NAME:: |
---|
| 313 | + Stop considering events after this event is found. |
---|
| 314 | + |
---|
| 315 | +--show-on-off-events:: |
---|
| 316 | + Show the --switch-on/off events too. This has no effect in 'perf top' now |
---|
| 317 | + but probably we'll make the default not to show the switch-on/off events |
---|
| 318 | + on the --group mode and if there is only one event besides the off/on ones, |
---|
| 319 | + go straight to the histogram browser, just like 'perf top' with no events |
---|
| 320 | + explicitely specified does. |
---|
| 321 | + |
---|
| 322 | +--stitch-lbr:: |
---|
| 323 | + Show callgraph with stitched LBRs, which may have more complete |
---|
| 324 | + callgraph. The option must be used with --call-graph lbr recording. |
---|
| 325 | + Disabled by default. In common cases with call stack overflows, |
---|
| 326 | + it can recreate better call stacks than the default lbr call stack |
---|
| 327 | + output. But this approach is not full proof. There can be cases |
---|
| 328 | + where it creates incorrect call stacks from incorrect matches. |
---|
| 329 | + The known limitations include exception handing such as |
---|
| 330 | + setjmp/longjmp will have calls/returns not match. |
---|
| 331 | + |
---|
| 332 | +ifdef::HAVE_LIBPFM[] |
---|
| 333 | +--pfm-events events:: |
---|
| 334 | +Select a PMU event using libpfm4 syntax (see http://perfmon2.sf.net) |
---|
| 335 | +including support for event filters. For example '--pfm-events |
---|
| 336 | +inst_retired:any_p:u:c=1:i'. More than one event can be passed to the |
---|
| 337 | +option using the comma separator. Hardware events and generic hardware |
---|
| 338 | +events cannot be mixed together. The latter must be used with the -e |
---|
| 339 | +option. The -e option and this one can be mixed and matched. Events |
---|
| 340 | +can be grouped using the {} notation. |
---|
| 341 | +endif::HAVE_LIBPFM[] |
---|
| 342 | + |
---|
252 | 343 | INTERACTIVE PROMPTING KEYS |
---|
253 | 344 | -------------------------- |
---|
254 | 345 | |
---|