Logging 将Linux内核日志缓冲区扩大2百万以上
我正在收集一些Linux内核活动。我在内核源代码中放置了多个带有的Logging 将Linux内核日志缓冲区扩大2百万以上,logging,linux-kernel,kernel,linux-device-driver,printk,Logging,Linux Kernel,Kernel,Linux Device Driver,Printk,我正在收集一些Linux内核活动。我在内核源代码中放置了多个带有的printk语句,并希望在常规内核活动期间监视这些语句。不幸的是,我已经意识到内核日志缓冲区大小(CONFIG_Log_BUF_SHIFT)不能超过2^21,这实际上等于2M个条目 有没有其他方法可以记录超过200万条内核消息?您可以在/boot/grub/grub.conf中将内核日志缓冲区设置为log\u buf\u len=4M。这会将日志缓冲区大小增加到4MIB。注意:您还可以在引导期间编辑grub,并将log\u buf
printk
语句,并希望在常规内核活动期间监视这些语句。不幸的是,我已经意识到内核日志缓冲区大小(CONFIG_Log_BUF_SHIFT
)不能超过2^21,这实际上等于2M个条目
有没有其他方法可以记录超过200万条内核消息?您可以在
/boot/grub/grub.conf
中将内核日志缓冲区设置为log\u buf\u len=4M
。这会将日志缓冲区大小增加到4MIB。注意:您还可以在引导期间编辑grub
,并将log\u buf\u len=4M
附加到从内核开始的行末尾…
CONFIG\u LOG\u BUF\u SHIFT
显示内核日志缓冲区的默认大小,而不是最大大小,您可以将其设置为更大的值,但需要重新编译内核
ex:
2 ^ 19 = 512 KiB
2 ^ 20 = 1 MiB
2 ^ 21 = 2 MiB
2 ^ 22 = 4 MiB
您使用的是哪种风格或内核版本的Linux,这在SuSE和RHEL上运行良好。
log\u buf\u len
似乎不再存在于grub.cfg
中。替代方案是什么?