Red de conocimiento informático - Material del sitio web - ¿Cómo aumentar el tamaño del búfer de registro del kernel de Linux en el código fuente de Android?

¿Cómo aumentar el tamaño del búfer de registro del kernel de Linux en el código fuente de Android?

Necesitamos modificar una macro en el código fuente del kernel de Linux que controla el tamaño del búfer de registro: CONFIG_LOG_BUF_SHIFT. El tamaño del búfer es 2^shift. Simplemente aumente esta macro.

I.Configuración

$ make menuconfig

Configuración general

(18) Tamaño del buffer de registro del kernel (16 => 64 KB, 17 => 128KB)

II.Código fuente

kernel/printk.c

#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)

static char __log_buf[__LOG_BUF_LEN];

Como puede ver, este es un espacio estático y no se puede ajustar dinámicamente en tiempo de compilación. Para el registro del kernel, el único lugar que se puede ajustar es /proc/sys/kernel/printk*

Tres límites

init/Kconfig

config LOG_BUF_SHIFT

int "Tamaño del búfer de registro del kernel (16 => 64 KB, 17 => 128 KB)"

Rango 12 21

predeterminado 17

ayuda

Seleccione una potencia de 2 para el tamaño del búfer de registro del kernel.

Ejemplo:

17 => 128 KB

16 => 64 KB

15 => 32 KB

14 => 16 KB

13 => 8 KB

12 => 4 KB

Como puedes ver, el límite máximo de turnos es 21, Es decir: 2 M

Seleccione el tamaño del búfer de registro del kernel como una potencia de 2. Es decir: 2 M

$ echo "(2^21)/1024/1024" | bc

Si deseas aumentarlo nuevamente debes modificar el código fuente.