72108c0b9c
Currently, debug messages is output to stderr, add --debug-file option to support redirection to a specified file. Some test scenarios: # perf --list-opts --help --version --exec-path --html-path --paginate --no-pager --debugfs-dir --buildid-dir --list-cmds --list-opts --debug --debug-file # perf --debug-file No path given for --debug-file. Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] # perf --debug-file /sys/perf.log record -v true Open debug file '/sys/perf.log' failed: Permission denied Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] # perf --debug-file /tmp/perf.log record -v true [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data (26 samples) ] # cat /tmp/perf.log DEBUGINFOD_URLS= Using CPUID GenuineIntel-6-3E-4 nr_cblocks: 0 affinity: SYS mmap flush: 1 comp level: 0 mmap size 528384B Control descriptor is not initialized mmap size 528384B Looking at the vmlinux_path (8 entries long) Using /proc/kcore for kernel data Using /proc/kallsyms for symbols symbol:unmap_start file:(null) line:0 offset:0 return:0 lazy:(null) symbol:unmap_complete file:(null) line:0 offset:0 return:0 lazy:(null) symbol:map_start file:(null) line:0 offset:0 return:0 lazy:(null) symbol:map_complete file:(null) line:0 offset:0 return:0 lazy:(null) symbol:reloc_start file:(null) line:0 offset:0 return:0 lazy:(null) symbol:reloc_complete file:(null) line:0 offset:0 return:0 lazy:(null) symbol:init_start file:(null) line:0 offset:0 return:0 lazy:(null) symbol:init_complete file:(null) line:0 offset:0 return:0 lazy:(null) symbol:lll_lock_wait_private file:(null) line:0 offset:0 return:0 lazy:(null) symbol:lll_lock_wait file:(null) line:0 offset:0 return:0 lazy:(null) symbol:setjmp file:(null) line:0 offset:0 return:0 lazy:(null) symbol:longjmp file:(null) line:0 offset:0 return:0 lazy:(null) symbol:longjmp_target file:(null) line:0 offset:0 return:0 lazy:(null) failed to write feature HYBRID_TOPOLOGY Signed-off-by: Yang Jihong <yangjihong1@huawei.com> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231031105523.1472558-1-yangjihong1@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
perf(1)
|
|
=======
|
|
|
|
NAME
|
|
----
|
|
perf - Performance analysis tools for Linux
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'perf' [--version] [--help] [OPTIONS] COMMAND [ARGS]
|
|
|
|
OPTIONS
|
|
-------
|
|
-h::
|
|
--help::
|
|
Run perf help command.
|
|
|
|
-v::
|
|
--version::
|
|
Display perf version.
|
|
|
|
-vv::
|
|
Print the compiled-in status of libraries.
|
|
|
|
--exec-path::
|
|
Display or set exec path.
|
|
|
|
--html-path::
|
|
Display html documentation path.
|
|
|
|
-p::
|
|
--paginate::
|
|
Set up pager.
|
|
|
|
--no-pager::
|
|
Do not set pager.
|
|
|
|
--buildid-dir::
|
|
Setup buildid cache directory. It has higher priority
|
|
than buildid.dir config file option.
|
|
|
|
--list-cmds::
|
|
List the most commonly used perf commands.
|
|
|
|
--list-opts::
|
|
List available perf options.
|
|
|
|
--debugfs-dir::
|
|
Set debugfs directory or set environment variable PERF_DEBUGFS_DIR.
|
|
|
|
--debug::
|
|
Setup debug variable (see list below) in value
|
|
range (0, 10). Use like:
|
|
--debug verbose # sets verbose = 1
|
|
--debug verbose=2 # sets verbose = 2
|
|
|
|
List of debug variables allowed to set:
|
|
verbose - general debug messages
|
|
ordered-events - ordered events object debug messages
|
|
data-convert - data convert command debug messages
|
|
stderr - write debug output (option -v) to stderr
|
|
in browser mode
|
|
perf-event-open - Print perf_event_open() arguments and
|
|
return value
|
|
|
|
--debug-file::
|
|
Write debug output to a specified file.
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
Performance counters for Linux are a new kernel-based subsystem
|
|
that provide a framework for all things performance analysis. It
|
|
covers hardware level (CPU/PMU, Performance Monitoring Unit) features
|
|
and software features (software counters, tracepoints) as well.
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkperf:perf-stat[1], linkperf:perf-top[1],
|
|
linkperf:perf-record[1], linkperf:perf-report[1],
|
|
linkperf:perf-list[1]
|
|
|
|
linkperf:perf-annotate[1],linkperf:perf-archive[1],linkperf:perf-arm-spe[1],
|
|
linkperf:perf-bench[1], linkperf:perf-buildid-cache[1],
|
|
linkperf:perf-buildid-list[1], linkperf:perf-c2c[1],
|
|
linkperf:perf-config[1], linkperf:perf-data[1], linkperf:perf-diff[1],
|
|
linkperf:perf-evlist[1], linkperf:perf-ftrace[1],
|
|
linkperf:perf-help[1], linkperf:perf-inject[1],
|
|
linkperf:perf-intel-pt[1], linkperf:perf-iostat[1], linkperf:perf-kallsyms[1],
|
|
linkperf:perf-kmem[1], linkperf:perf-kvm[1], linkperf:perf-lock[1],
|
|
linkperf:perf-mem[1], linkperf:perf-probe[1], linkperf:perf-sched[1],
|
|
linkperf:perf-script[1], linkperf:perf-test[1],
|
|
linkperf:perf-trace[1], linkperf:perf-version[1]
|