kallsyms
also: kernel all symbols
A kernel subsystem that maintains a symbol table mapping kernel memory addresses to function and variable names, used for debugging and generating readable stack traces.
kallsyms stands for "kernel all symbols" and is a Linux kernel feature that stores symbolic information about kernel code and data. When enabled, it allows the kernel to convert raw memory addresses into human-readable function and variable names during runtime.
This is particularly useful for debugging kernel crashes and analyzing performance. Instead of seeing a stack trace with raw addresses like 0xffffffff81000abc, you get meaningful names like do_page_fault+0x2c, making it much easier to identify what code was executing when an error occurred.
You can view the kernel symbol table by reading /proc/kallsyms, which lists all kernel symbols with their addresses and types. The feature is configured at kernel compile time with CONFIG_KALLSYMS and impacts kernel memory usage, so it's often disabled in production builds.