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

我们通常使用cat /proc/kmsgdmesg来查看来自用户空间的内核日志

我明白dmesg是从kmsg复制的循环缓冲区,但是kmsg也不是一个循环缓冲区?

我想了解他们之间的差异和关系?

松散地说dmesg是一个转储/ proc / kmsg的程序。 另外,它提供了一些过滤功能来清除用户不感兴趣的日志。

在收集大量日志时,可以将/ proc / kmsg的输出定向到一个文件,这样就不会丢失日志

dmesg是循环缓冲区,一旦缓冲区已满,先前的日志将被覆盖