dmesg
据说检查或控制内核环形缓冲区。但它有选项--kernel
和--userspace
。
是否dmesg
从内核环形缓冲区获取内核消息?
内核环形缓冲区是否只存储内核生成的消息,而不存储进程生成的消息?
从哪里dmesg
获取用户空间消息?
用户空间消息是否包括所有进程(例如 cron)生成的消息?
答案1
是否
dmesg
从内核环形缓冲区获取内核消息?
是的,如中所述man dmesg
:
dmesg
用于检查或控制内核环形缓冲区。
内核环形缓冲区是否只存储内核生成的消息,而不存储进程生成的消息?
不,进程可以通过写入/dev/kmsg
.
从哪里
dmesg
获取用户空间消息?
从内核环形缓冲区,使用/dev/kmsg
或系统syslog
调用(不要与系统syslog
记录器及相关服务)。消息通过其“功能”来区分;内核消息使用该kern
设施,用户消息使用user
、等设施(请参阅参考资料mail
获取受支持设施的列表)。daemon
dmesg --help
用户空间消息是否包括所有进程(例如 cron)生成的消息?
不,只有那些显式添加到内核环形缓冲区的内容。
syslog
守护进程通常可以读来自 Linux 上的内核环形缓冲区,但这是唯一的连接。我不知道有什么写除了内核之外的缓冲区(不需要设备来执行此操作)和 systemd(如果无法写入其日志或 to ,它将写入内核缓冲区syslog
)。