Displays the kernel's symbol table, including function and variable names
/proc/kallsyms file is a virtual file provided by the Linux kernel. It contains the symbol
table used by the kernel, which includes both function names and variable names. These symbols are essential for
understanding the inner workings of the kernel and are particularly useful when debugging kernel issues or when
developing kernel modules.
What Does /proc/kallsyms Contain?
This file contains three columns of information:
- The address of the symbol in memory.
- The type of the symbol.
- The name of the symbol.
The type can be either a function (denoted as "f") or a variable (denoted as "v"). The name is the actual name of the function or variable.
0000000000000000 D jiffies
ffffffff8123f8e0 T do_softirq_own_stack
ffffffff81c15060 V softirq_vec
Why is /proc/kallsyms Important?
/proc/kallsyms file is essential for debugging problems within the Linux kernel.
Since it provides access to the inner workings of the kernel, developers and system administrators can use it to
diagnose high load issues, memory leaks, and more.
This file is also crucial for developers writing kernel modules. The kernel's functions and variables are not usually
accessible from a module, but the symbols in
/proc/kallsyms can be used to link to these functions and variables.
You can read the
/proc/kallsyms file using the
To search for a specific symbol, use the
grep 'do_softirq_own_stack' /proc/kallsyms
Typical Problems Diagnosed with /proc/kallsyms
/proc/kallsyms file is often used to diagnose kernel panics. When a panic occurs,
the kernel generates a log that includes the memory addresses where the error occurred. By comparing these addresses
with the addresses in
/proc/kallsyms, a developer or system administrator can identify the function or variable
causing the problem.
/proc/kallsyms file is a powerful tool for understanding the inner workings of the Linux kernel. Whether you're a
system administrator looking to debug a kernel problem or a developer writing a new kernel module, the
file can provide the insights you need.