Ich habe perf
für meinen Kernel (3.11.10) kompiliert. Während der Kompilierung fehlten einige Bibliotheken, also habe ich diese installiert.perf: Konnte nicht aufgezeichnet Referenz Reference Relocation
Aber jetzt, wenn ich perf
laufen, ich folgende Meldung:
Couldn't record kernel reference relocation symbol
Symbol resolution may be skewed if relocation was used (e.g. kexec).
Check /proc/kallsyms permission or run as root.
Kernel address maps (/proc/{kallsyms,modules}) were restricted.
Check /proc/sys/kernel/kptr_restrict before running 'perf record'
If some relocation was applied (e.g. kexec) symbols may be misresolved.
Samples in kernel modules can't be resolved as well.
Da ich Maßarbeit Kernel verwende, die naheliegendste Erklärung ist für mich, dass einige Option aus meinem Kernel fehlt. Wenn ja, wie kann ich herausfinden, was fehlt?
Ich bin mir nicht sicher, was genau perf
beschwert wird. Wie kann ich das beheben?
EDIT:
/proc/kallsyms
existiert nicht und /proc/sys/kernel/kptr_restrict
enthält 0
:
$ cat /proc/sys/kernel/kptr_restrict
0
Ich habe kompiliert den Kernel selbst, und es ist möglich, dass es einige Option fehlt. Was ist das /proc/kallsyms
? Wie kann ich es in meinem Kernel aktivieren?