Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linux: perf top, kernel symbol not found

Ubuntu 15.04, with Linux-Next kernel 2015-06-04 compiled and installed.

Then boot this kernel up, then run perf top, but it says symbol not found.

How can I load the kernel symbol manually in 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

In the Linux-next folder, the .config file has enabled kernel debug:

CONFIG_DEBUG_KERNEL=y
like image 693
Howard Shane Avatar asked Oct 14 '15 23:10

Howard Shane


1 Answers

I installed perf, and run "perf top", get the following message:

Warning:

A vmlinux file was not found.

Kernel samples will not be resolved.

After installing "libelf-dev", I compiled the perf again and make install. At last, I run "perf top" and get the right result.

During making install the perf, the system would provide some hints. eg:

config/Makefile:276: No libelf found, disables 'probe' tool, please install elfutils-libelf-devel/libelf-dev

config/Makefile:327: No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 1.1

config/Makefile:350: No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev

config/Makefile:364: slang not found, disables TUI support. Please install slang-devel or libslang-dev

Following these hints, maybe you can solve your problem.

like image 76
Sunliy Avatar answered Oct 03 '22 09:10

Sunliy