回覆列表
  • 1 # 使用者6480517063955

    需要修改 Linux 核心原始碼中的一個控制 log buffer size 的宏:CONFIG_LOG_BUF_SHIFT,buffer size 是 2 ^ shift,加大這個就可以。一、配置$ make menuconfigGeneral setup(18)Kernel log buffer size (16 => 64KB,17 => 128KB)二、原始碼kernel/printk.c#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)static char __log_buf[__LOG_BUF_LEN];可以看到,是已經在編譯時定死的一塊靜態空間,不能動態調整了。對於核心日誌,唯一可以調整的在:/proc/sys/kernel/printk*三、限制init/Kconfigconfig LOG_BUF_SHIFT int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" range 12 21 default 17 help Select kernel log buffer size as a power of 2. Examples: 17 => 128 KB 16 => 64 KB 15 => 32 KB 14 => 16 KB 13 => 8 KB 12 => 4 KB可以看到 shift 最大值限制到了 21,也就是:2 M$ echo "(2^21)/1024/1024" | bc 2如果再要加大,只能改原始碼了。

  • 中秋節和大豐收的關聯?
  • 老虎有幾種型別?