13.2. 로그 수준 및 커널 로깅에 대한 printk 역할
커널에서 보고하는 각 메시지에는 메시지의 중요성을 정의하는 로그 레벨이 연결되어 있습니다. What is kernel ring buffer에 설명된 커널 링 버퍼 는 모든 로그 수준의 커널 메시지를 수집합니다. 버퍼에서 보내는 메시지를 콘솔에 인쇄하는 kernel.printk
매개 변수입니다.
로그 수준 값은 다음 순서로 구분됩니다.
- 0
- 커널 긴급 상황. 시스템을 사용할 수 없습니다.
- 1
- 커널 경고. 즉시 조치를 취해야 합니다.
- 2
- 커널의 상태는 중요한 것으로 간주됩니다.
- 3
- 일반 커널 오류 상태입니다.
- 4
- 일반 커널 경고 조건.
- 5
- 정상이지만 중요한 상태에 대한 커널 알림입니다.
- 6
- 커널 정보 메시지.
- 7
- 커널 디버그 수준 메시지입니다.
기본적으로 RHEL 8의 kernel.printk
에는 다음 네 가지 값이 포함되어 있습니다.
# sysctl kernel.printk
kernel.printk = 7 4 1 7
4개의 값은 순서대로 다음을 정의합니다.
- 콘솔 로그 수준은 콘솔에 인쇄된 메시지의 우선 순위를 가장 낮은 우선 순위를 정의합니다.
- 명시적인 로그 수준이 연결되지 않은 메시지의 기본 로그 수준입니다.
- 콘솔 로그 레벨에 가능한 최저 로그 수준 구성을 설정합니다.
부팅 시 콘솔 로그 수준의 기본값을 설정합니다.
위의 각 값은 오류 메시지를 처리하는 다른 규칙을 정의합니다.
기본 7 4 1 1
printk
값을 사용하면 커널 활동을 더 잘 디버깅할 수 있습니다. 그러나 직렬 콘솔과 연결된 경우 이 출력
설정으로 인해 RHEL 시스템이 일시적으로 응답하지 않을 수 있는 강력한 I/O 버스트가 발생할 수 있습니다. 이러한 상황을 방지하기 위해 4 4 1 7
의 인쇄
값을 설정하는 것은 일반적으로 작동하지만 추가 디버깅 정보가 손실되는 경우가 이에 해당합니다.
또한 quiet
또는 debug
와 같은 특정 커널 명령행 매개 변수도 기본 kernel.printk
값을 변경합니다.
추가 리소스
-
syslog(2)
매뉴얼 페이지