2014-12-24 7 views
7

일종의 Linux 커널 활동을 수집하는 중입니다. 여러 개의 printk 문을 커널 소스 코드에 넣었고 정기적 인 커널 활동 중에 이들 문을 모니터하고 싶습니다. 불행히도, 커널 로그 버퍼 크기 (CONFIG_LOG_BUF_SHIFT)가 2^21보다 더 클 수는 없다는 것을 깨달았습니다. 2^21은 본질적으로 2M 항목과 같습니다.확대 Linux 커널 로그 버퍼 more than 2M

2M 이상의 커널 메시지를 기록하는 다른 방법이 있습니까?

답변

8

/boot/grub/grub.conf에서 커널 로그 버퍼를 log_buf_len=4M으로 설정할 수 있습니다. 로그 버퍼 크기를 4MB로 늘려야합니다. 부팅 중에 grub을 편집하고 kernel ...으로 시작하는 줄 끝에 log_buf_len=4M을 추가 할 수 있습니다.

CONFIG_LOG_BUF_SHIFT은 최대 크기가 아닌 커널 로그 버퍼의 기본 크기를 표시하지만 더 큰 값으로 설정할 수 있지만 커널을 다시 컴파일해야합니다.

ex: 
2^19 = 512 KiB 
2^20 = 1 MiB 
2^21 = 2 MiB 
2^22 = 4 MiB 

Linux의 맛이나 커널 버전은 SuSE 및 RHEL에서 잘 작동합니다.