/proc/kmsg和dmsg有什么区别?

10

通常我们使用cat /proc/kmsgdmesg命令从用户空间查看内核日志。

我知道dmesg是一个循环缓冲区,它从kmsg中复制内容。但是,kmsg也不是一个循环缓冲区吗?

它们之间的区别和关系是什么?


请查看如何在Linux内核空间中读取环形缓冲区?,其中有一个很好的答案和良好的参考资料。 - Mike Satteson
2个回答

6

dmesg大致上是一个程序,它会将/proc/kmsg信息进行转储。此外,它还提供了一些过滤功能,以筛选用户不感兴趣的日志。


我知道dmesg从/proc/kmsg复制。但是,作为dmesg,kmsg也是一个循环缓冲区吗? - Saurabh Sengar
@SaurabhSengar 是的 - R.D.
2
循环缓冲区是由内核本身实现的,dmesg只是一个通过内核接口/proc/kmsg读取此循环缓冲区的工具。 - yuanjianpeng

3

当收集大量日志时,可以将/proc/kmsg的输出定向到文件中,以便不会丢失任何日志。

dmesg是一个循环缓冲区,一旦缓冲区满了,先前的日志就会被覆盖。


3
kmsg不是一个循环缓冲区吗? - Saurabh Sengar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接