Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 将Linux内核日志缓冲区扩大2百万以上_Logging_Linux Kernel_Kernel_Linux Device Driver_Printk - Fatal编程技术网

Logging 将Linux内核日志缓冲区扩大2百万以上

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

我正在收集一些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\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
中。替代方案是什么?