web-dev-qa-db-ja.com

Linuxカーネルのリングバッファーサイズを調べる方法は?

カーネルリングバッファーのサイズ、それが保持できる情報量、およびどのデータ型にかなり関心がありますか?

6
Sam Si Tayeb

サイズに関しては、カーネルの設定ファイルに記録されています。たとえば、Amazon EC2では、256 KiB です。

# 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
#

/ kernel/printk/printk.c で参照

#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)

/ kernel/trace/ring_buffer.c の詳細情報

カーネルブートパラメータ "log_buf_len = N"を渡した場合は注意してください(cat /proc/cmdline)次に、 オーバーライド 構成ファイルの値。

5
steve