參考:What are the concepts of “kernel ring buffer”, “user level”, “log level”?
原始問題
個人補充:runlevel是指SysV中用於確定OS運行環境的一種技術。不過在CentOS 7.X以后就被淘汰了,老版本服務器上可能還在用。
protection ring指的是X86平台將指令集使用Ring 0、Ring 1、Ring 2、Ring 3四種級別來管理和使用物理服務器硬件。具體參考:Xen虛擬化——簡介
回答問題
是的,所有這些都與日志記錄有關。 但是,沒有一個與runlevel或protection ring有關。
這個問題站在SysV下日志處理角度回答,對於Systemd的情況,道理是相通的,只不過命令換了。
內核將其日志保存在buffer ring中。 這樣做的主要原因是系統啟動時的日志會被保存,直到syslog daemon有機會啟動並收集它們為止。 否則,在syslog daemon啟動之前不會有任何日志被記錄。 可以使用dmesg命令隨時查看該buffer ring中的內容,並且其內容也會在syslog daemon啟動時保存到/ var / log / dmesg。 所有不是來自內核的日志都會在生成時發送到syslog daemon,因此它們不會保存在任何buffer中。 內核日志也會在生成時由syslog daemon獲取,但它們也會繼續保存到buffer ring(這塊感覺沒啥必要)。
對於SysV,日志使用syslogd這個daemon,它的配置文件是/etc/syslog.conf。