对内核环形缓冲区的大小、它可以容纳多少信息以及什么数据类型非常感兴趣?
答案1
关于大小,它记录在内核的配置文件中。例如,在此处的 Amazon EC2 上,它是 256基布。
# grep CONFIG_LOG_BUF_SHIFT /boot/config-`uname -r`
CONFIG_LOG_BUF_SHIFT=18
# perl -e 'printf "%d KiB\n",(1<<18)/1024'
256 KiB
#
#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
更多信息请参见/kernel/trace/ring_buffer.c
请注意,如果您传递了内核启动参数“log_buf_len=N”(使用检查cat /proc/cmdline
),那么覆盖配置文件中的值。