Linux kernel buffer ring
Posted kelamoyujuzhen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux kernel buffer ring相关的知识,希望对你有一定的参考价值。
参考: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。
以上是关于Linux kernel buffer ring的主要内容,如果未能解决你的问题,请参考以下文章
Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — Buffer descriptor table