11

我正在收集某种 Linux 内核活动。我printk在内核源代码中放置了多个语句,并希望在常规内核活动期间监视这些语句。不幸的是,我意识到内核日志缓冲区大小 ( CONFIG_LOG_BUF_SHIFT) 不能超过 2^21,这基本上等于 2M 条目。

有没有其他方法可以记录超过 2M 的内核消息?

4

1 回答 1

15

您可以将内核日志缓冲区设置log_buf_len=4M/boot/grub/grub.conf. 这应该将日志缓冲区大小增加到 4 MiB。请注意,您还可以grub在引导期间编辑 ,并在以 .log_buf_len=4M开头的行末尾附加kernel ...

CONFIG_LOG_BUF_SHIFT显示内核日志缓冲区的默认大小而不是最大大小,您可以将其设置为更大的值,但需要重新编译内核。

ex:
2 ^ 19 = 512 KiB
2 ^ 20 = 1 MiB
2 ^ 21 = 2 MiB
2 ^ 22 = 4 MiB

您使用的是哪种 Linux 风格或内核版本,这在 SuSE 和 RHEL 上运行良好。

于 2014-12-25T04:52:34.897 回答