rsyslog를 기준으로 커널 링 버퍼는 어디에 있습니까?

rsyslog를 기준으로 커널 링 버퍼는 어디에 있습니까?

rsyslog커널 링 버퍼 위에 추상화 계층만 있는 걸까요? 아니면 커널 링 버퍼가 자체 엔터티이며 rsyslog다른 "응용 프로그램"처럼 상호 작용합니까?

답변1

다양한 문서(참조 포함 man dmesg)에서는 이를 "커널 링 버퍼"라고 부르지만 "링 버퍼"는 일반적인 용어이고 커널도 링 버퍼를 사용한다고 생각하므로 커널 로그 버퍼라고 부르는 것이 더 좋습니다. 완전히 관련되지 않은 모든 종류의 항목에 대한 버퍼입니다. 커널 공간 함수를 사용하여 쓰기를 수행한 후에는 "printk 버퍼"도 적합합니다.

그럼에도 불구하고 읽기 인터페이스 /proc/kmsg와 읽기 및 쓰기 인터페이스를 제공하여 커널 공간에 상주합니다 /dev/kmsg. 따라서 루트로 이동하는 경우:

echo "Hello Kernel!" > /dev/ksmg

그렇게 하면 해당 내용이 표시됩니다 cat /dev/ksmg(그러나 어떤 로그에서도 이 내용이 표시되지 않을 수 있습니다. 가능한 이유는 아래 Matthew Phipps의 설명을 참조하세요). 이는 원시 출력이며 dmesg로그 파일에 표시되는 것과 정확히 일치하지 않습니다. 조금일부 문서이는 커널 소스 코드와 함께 제공됩니다. (r)syslog가 실행 중이라면 /proc/kmsg(다른)에서 읽는 것이 좋습니다./dev/ksmg

Rsyslog는 많은 로그 중 하나입니다.시스템 로그Linux에서 일반적으로 사용되는 구현입니다. 이는 /proc/ksmg소켓을 통해 커널 메시지 및 기타 사용자 공간 프로세스에서 메시지를 가져오는 사용자 공간 애플리케이션입니다 /dev/log.

관련 정보