perf

Performance analysis tools for Linux .

Syntax
      perf [--version] [--help] COMMAND [ARGS] accountname

All perf subcommands need to run as root (sudo)

# show programs that are using the most CPU:
$ sudo perf top

# Sample CPUs at 49% show top symbols:
$ sudo perf top -F 49

# Start COMMAND and profile it:
$ sudo perf record COMMAND

# Profile PID until Ctrl-C is pressed:
$ sudo perf record PID

# Profile every process until Ctrl-C is pressed:
$ sudo perf record -a

# CPU counter statistics for COMMAND
$ sudo perf stat COMMAND

# Detailed CPU counter statistics for COMMAND
$ sudo perf stat -ddd COMMAND

# Various basic CPU statistics system wide:
$ sudo perf stat -e cycles,instructions,cache-misses -a

# Show perf.data in an ncurses browser:
$ sudo perf report

# Trace syscalls system wide:
$ sudo perf trace

# Trace syscalls for PID:
$ sudo perf trace -p PID

# Sample CPU functions for COMMAND at 99 Hzertz:
$ sudo perf record -F 99 COMMAND

# Sample CPU functions for PID until Ctrl-C is pressed:
$ sudo perf record -p PID

# Sample CPU functions for PID for 10 seconds:
$ sudo perf record -p PID sleep 10

# Sample CPU stack traces for PID for 10 seconds:
$ sudo perf record -p PID -g -- sleep 10

# Trace new processes until Ctrl-C is pressed:
$ sudo perf record -e sched:sched_process_exec -a

perf can trace system calls faster than strace.

perf record saves to the perf.data file.

"When someone shows you who they are, believe them the first time ~ Maya Angelou

Related Linux commands

htop - Interactive process viewer.
strace - Trace system calls and signals.
Julia Evans Perf-Zine - Profiling and Tracing (pdf)
Equivalent Windows command: perfmon.


 
Copyright © 1999-2024 SS64.com
Some rights reserved