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