当我第一次运行make at /usr/src/linux/tools/perf时,我试图在slackware 13.1上安装perf,但遇到了一些错误。我找到了这个补丁http://www.valimar.it/repo/linux/perf_fix-2.6.33.patch,当我再次运行make时,它发出了一些不同的错误,如下所示。-2.6.33.4/tools/perf</
我想在linux中使用分析工具。我看到一些信息说Oprofile在Ubuntu12.04中是不支持的,而备用的是perf。所以我试着安装perf。我安装了linux-tools-common、linux-base和linux-tools。然后在终端中键入perf,它返回:You may need to install linux-tools-3.12.6-3.12.6
我试图让perf工具在我们的linux设置中运行,它们没有/不能有linux源代码。因此,我在另一台机器上下载了linux代码并编译了perf (cd tools/perf;make)。我将perf二进制文件复制到目标机器上。然而,在开始记录时,它说“无法合成bpf事件”。default of 4096在
我知道"perf“工具需要与特定linux内核版本相对应的安装。我知道所有的docker映像都运行在相同的linux内核版本中,而不管linux发行版。我在坞内使用ubuntu16.04,并且已经安装了linux工具-常见的,start perf告诉我,我仍然缺少一些软件包:‘/usr/bin/perf: line 32: lsb_release: command not found
WARNIN
我遵循了现有Stackoverflow问题/答案提供的说明链路性能libperf.a(libperf-in.o): In function event_class_add_field: /tools/perf/util/data-convert-bt.c:988: undefined reference tobt_ctf_validate_identifier collect2:
如果您尝试运行一个与当前运行的Linux内核不匹配的随机perf二进制文件,它会说:WARNING: perf not found for kernel 4.13.0-45
当然,如果我得到这个版本的perf,它就能工作。看看一些流行的资源,比如Linux示例和Perf维基,我找不到这个具体问题的答案:为什么perf严格地需要与内核处于同一个版本?