Ubuntu 15.04,编译并安装了Linux-Next内核2015-06-04。
然后启动此内核,然后运行perf top,但它表示找不到符号。
如何在perf?
中手动加载内核符号root@ubuntu-server:/boot# uname -r
4.1.0-rc6.060402222+
root@ubuntu-server:/proc# ls kall*
kallsyms
root@ubuntu-server:/boot# ls | grep 4.1.0-rc6.060402222
config-4.1.0-rc6.060402222+
initrd.img-4.1.0-rc6.060402222+
System.map-4.1.0-rc6.060402222+
vmlinuz-4.1.0-rc6.060402222+
root@ubuntu-server:/# perf top
No kallsyms or vmlinux with build-id 438e4365574d514672888bcfdd6292dbcf71f38f was found
[kernel.kallsyms] with build id 438e4365574d514672888bcfdd6292dbcf71f38f not found, continuing without symbols
Warning:
A vmlinux file was not found.
Kernel samples will not be resolved.
^C
root@ubuntu-server:/proc# perf top -k /boot/vmlinuz-4.1.0-rc6.060402222+
Warning:
The /boot/vmlinuz-4.1.0-rc6.060402222+ file can't be used: Success
Kernel samples will not be resolved.
^C
在Linux-next文件夹中,.config文件启用了内核调试:
CONFIG_DEBUG_KERNEL=y
答案 0 :(得分:0)
我安装了perf,然后运行" perf top",得到以下消息:
警告:
找不到vmlinux文件。
内核样本将无法解析。
安装" libelf-dev"后,我再次编译了perf并进行安装。 最后,我跑了#34; perf top"并得到正确的结果。
在安装perf时,系统会提供一些提示。例如:
config / Makefile:276:找不到libelf,禁用' probe'工具,请安装elfutils-libelf-devel / libelf-dev
config / Makefile:327:找不到libunwind,禁用post unwind支持。请安装libunwind-dev [el]> = 1.1
config / Makefile:350:找不到libaudit.h,禁用' trace'工具,请安装audit-libs-devel或libaudit-dev
config / Makefile:364:找不到俚语,禁用TUI支持。请安装slang-devel或libslang-dev
根据这些提示,也许你可以解决问题。