I am in the process of collecting some sort of Linux Kernel activities. I have placed multiple printk
statements with in the kernel source code and would like to monitor those during regular kernel activities. Unfortunately, I have realized that the Kernel Log Buffer size (CONFIG_LOG_BUF_SHIFT
) cannot be more that 2^21 which is essentially equal to 2M entries.
Is there any other way to record more than 2M Kernel messages ?
You can set the kernel log buffer to
log_buf_len=4M
in your/boot/grub/grub.conf
. This should increase the log buffer size to 4 MiB. Note you can also edit thegrub
during boot, and append thelog_buf_len=4M
at the end of the line starting with thekernel ...
.CONFIG_LOG_BUF_SHIFT
shows the default size of the kernel log buffer not the maximum size, you can set this to larger value but would require to recompile the kernel.Which flavor or kernel version of Linux are you on, this works well on SuSE and RHEL.