我想在 Linux 中使用分析工具。我看到一些信息说 Oprofile 在 Ubuntu 12.04 中不受支持,而替代品是 perf。所以我尝试安装 perf。
我安装了linux-tools-common
,linux-base
和linux-tools
。
然后我perf
在终端中输入:
perf not found for kernel 3.12.6
You may need to install linux-tools-3.12.6-3.12.6
但我无法安装linux-tools-3.12.6-3.12.6
(我认为这是一个错误的名字)或linux-tools-3.12.6
。
是不是这样安装和使用perf的方法不对,或者是内核的问题(内核是我自己编译的)?
答案1
由于您使用的是自定义内核,因此可能需要构建工具。如果您想使用存储库中的 Linux 工具,则需要使用 Ubuntu 提供的内核。Linux 工具会检查您的内核版本,如果与自己的内核版本不匹配,则不会运行。
答案2
在 ubuntu 上,“perf”是一个调用内核特定的 perf 二进制文件的 shell 脚本。
但实际上这并非必需,perf 是兼容的。只需从 /usr/bin 中删除包装器并将 ./lib/linux-tools* 中的任何 perf 二进制文件复制到其中即可。