0001 perf-buildid-cache(1)
0002 =====================
0003
0004 NAME
0005 ----
0006 perf-buildid-cache - Manage build-id cache.
0007
0008 SYNOPSIS
0009 --------
0010 [verse]
0011 'perf buildid-cache <options>'
0012
0013 DESCRIPTION
0014 -----------
0015 This command manages the build-id cache. It can add, remove, update and purge
0016 files to/from the cache. In the future it should as well set upper limits for
0017 the space used by the cache, etc.
0018 This also scans the target binary for SDT (Statically Defined Tracing) and
0019 record it along with the buildid-cache, which will be used by perf-probe.
0020 For more details, see linkperf:perf-probe[1].
0021
0022 OPTIONS
0023 -------
0024 -a::
0025 --add=::
0026 Add specified file to the cache.
0027 -f::
0028 --force::
0029 Don't complain, do it.
0030 -k::
0031 --kcore::
0032 Add specified kcore file to the cache. For the current host that is
0033 /proc/kcore which requires root permissions to read. Be aware that
0034 running 'perf buildid-cache' as root may update root's build-id cache
0035 not the user's. Use the -v option to see where the file is created.
0036 Note that the copied file contains only code sections not the whole core
0037 image. Note also that files "kallsyms" and "modules" must also be in the
0038 same directory and are also copied. All 3 files are created with read
0039 permissions for root only. kcore will not be added if there is already a
0040 kcore in the cache (with the same build-id) that has the same modules at
0041 the same addresses. Use the -v option to see if a copy of kcore is
0042 actually made.
0043 -r::
0044 --remove=::
0045 Remove a cached binary which has same build-id of specified file
0046 from the cache.
0047 -p::
0048 --purge=::
0049 Purge all cached binaries including older caches which have specified
0050 path from the cache.
0051 -P::
0052 --purge-all::
0053 Purge all cached binaries. This will flush out entire cache.
0054 -M::
0055 --missing=::
0056 List missing build ids in the cache for the specified file.
0057 -u::
0058 --update=::
0059 Update specified file of the cache. Note that this doesn't remove
0060 older entries since those may be still needed for annotating old
0061 (or remote) perf.data. Only if there is already a cache which has
0062 exactly same build-id, that is replaced by new one. It can be used
0063 to update kallsyms and kernel dso to vmlinux in order to support
0064 annotation.
0065 -l::
0066 --list::
0067 List all valid binaries from cache.
0068 -v::
0069 --verbose::
0070 Be more verbose.
0071
0072 --target-ns=PID:
0073 Obtain mount namespace information from the target pid. This is
0074 used when creating a uprobe for a process that resides in a
0075 different mount namespace from the perf(1) utility.
0076
0077 --debuginfod[=URLs]::
0078 Specify debuginfod URL to be used when retrieving perf.data binaries,
0079 it follows the same syntax as the DEBUGINFOD_URLS variable, like:
0080
0081 buildid-cache.debuginfod=http://192.168.122.174:8002
0082
0083 If the URLs is not specified, the value of DEBUGINFOD_URLS
0084 system environment variable is used.
0085
0086 SEE ALSO
0087 --------
0088 linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-buildid-list[1]