"커널 링 버퍼", "사용자 수준", "로그 수준" 등의 용어가 함께 나타나는 경우를 자주 봅니다. 예를 들어
/var/log/dmesg에는 커널 링 버퍼 정보가 포함되어 있습니다.
/var/log/kern.log에는 모든 로그 수준의 커널 메시지만 포함됩니다.
/var/log/user.log에는 모든 사용자 수준 로그에 대한 정보가 포함되어 있습니다.
모두 로그에 관한 것인가요? 그것들은 어떻게 관련되어 있고 다른가요?
"수준"으로 여러 수준의 계층 구조를 상상할 수 있습니까?
"사용자 수준"은 "사용자 공간"과 관련이 있습니까?
답변1
예, 로깅에 관한 모든 것입니다. 아니요. 실행 수준이나 "보호 링"과는 아무런 관련이 없습니다.
커널은 로그를 링 버퍼에 보관합니다. 이렇게 하는 주된 이유는 syslog 데몬이 시작하여 로그를 수집할 수 있을 때까지 시스템 시작부터 로그를 저장하는 것입니다. 그렇지 않으면 syslog 데몬이 시작될 때까지 로그가 기록되지 않습니다. 이 링 버퍼의 내용은 이 명령을 사용하여 언제든지 볼 수 있으며 해당 내용은 syslog 데몬이 시작될 때도 저장됩니다 dmesg
./var/log/dmesg
커널에서 나오지 않는 모든 로그는 생성과 동시에 syslog 데몬으로 전송되므로 어떤 버퍼에도 저장되지 않습니다. 커널 로그도 생성될 때 syslog 데몬에 의해 선택되지만 링 버퍼에 계속 저장됩니다(불필요할 수도 있음).
로그 수준은 다음에서 볼 수 있습니다.시스템 로그(3) 맨페이지다음과 같이:
- LOG_EMERG: 시스템을 사용할 수 없습니다.
- 로그 알림: 즉시 조치를 취해야 합니다.
- LOG_CRIT: 심각한 상태
- 로그 오류: 오류 상태
- 로그_경고: 경고 조건
- LOG_NOTICE: 정상이지만 중요한 상태
- 로그 정보:정보 메시지
- 로그 디버깅:디버그 수준 메시지
각 디자인 수준은 이전 수준보다 덜 "중요"합니다. 특정 수준을 기록하는 로그 파일은 더 중요한 모든 수준도 기록합니다.
/var/log/kern.log
예를 들어 과의 차이는 /var/log/mail.log
레벨과 관련이 없고 시설이나 카테고리와 관련이 있습니다. 이러한 범주는 맨페이지에도 문서화되어 있습니다.
답변2
질문의 첫 번째 부분에 답하려면 다음을 따르세요 dmesg
.
/var/log/dmesg
커널이 부트 로더 단계를 통과한 후 생성된 로그 데이터를 저장하기 위해 부팅 시 커널에 의해 생성되는 메모리 버퍼인 "커널 링 버퍼"의 내용을 저장합니다.
링 버퍼는 크기가 항상 일정하고 새 메시지가 들어오면 가장 오래된 메시지가 삭제되는 특수 버퍼입니다. 커널 링 버퍼에 저장된 텍스트는 Unix를 처음 부팅할 때 화면에서 깜박이는 것을 볼 수 있는 것입니다. 이는 콘솔 모드 시스템(스플래시 화면 없음, Plymouth)과 같습니다. 커널 로그는 메모리 버퍼에 저장되므로 시스템이 syslog
데몬이 인계받을 수 있는 지점 까지 부팅될 때까지 부팅 로그가 유지될 수 있습니다 .
dmesg
util-linux
Linux에서는 kernel.org에서 출시한 시스템 유지 관리 도구의 필수 패키지의 일부입니다. dmesg(1)
매뉴얼 페이지 에 따르면 ,
dmesg는 커널 링 버퍼를 검사하거나 제어하는 데 사용됩니다.
바라보다:http://www.computerhope.com/unix/dmesg.htm
"systemd" 초기화에서 이 명령을 사용하여 커널 링 버퍼를 인쇄할 수 있습니다.
# journalctl --dmesg or journalctl -k
@don_crissti를 수정해 주셔서 감사합니다.
예를 들어, 이 명령을 실행하면 dmesg | grep -i ethernet
커널 링 버퍼에서 "ethernet" 문자열을 구문 분석합니다.
이것이 적어도 귀하의 질문의 첫 번째 부분에 도움이 되기를 바랍니다.