AFAIK dmesg
显示有关内核和内核模块的信息,/var/log/messages
还显示内核和模块产生的信息。
那有什么区别呢?请问/var/log/messages
⊂的输出dmesg
?
可能会有帮助的更多信息:
-有一个内核环形缓冲区,我认为这是存储内核日志数据的唯一位置。-IBM DeveloperWorks上的
文章“ 内核日志记录:API和实现 ”描述了API和鸟瞰图。
AFAIK dmesg
显示有关内核和内核模块的信息,/var/log/messages
还显示内核和模块产生的信息。
那有什么区别呢?请问/var/log/messages
⊂的输出dmesg
?
可能会有帮助的更多信息:
-有一个内核环形缓冲区,我认为这是存储内核日志数据的唯一位置。-IBM DeveloperWorks上的
文章“ 内核日志记录:API和实现 ”描述了API和鸟瞰图。
Answers:
dmesg
打印环形缓冲区的内容。这些信息还会实时发送到syslogd
或klogd
(在它们运行时),最终以形式发送给/var/log/messages
;什么时候dmesg
最有用是捕获之前syslogd
和/或klogd
开始的启动时消息,以便将它们正确记录。
klogd
运行时,dmesg
将只显示最新的内核信息(因为该环形缓冲器是一个固定的大小,因此可以仅容纳这么多),没有时间戳或其它信息,而/var/log/messages
将根据如何保留日志logrotate
被构造和包括时间戳(其对于初始启动消息,由于dmesg
没有启动消息,因此会有些不准确,因此klogd
开始时间用于从内核缓冲区读取的所有消息)。
dmesg
仅包含来自内核的消息,/var/log/messages
通常还包含来自应用程序的日志。
dmesg
是/var/log/messages
环形缓冲区的子集,并在环形缓冲区中维护。 /var/log/messages
包括所有系统消息,包括系统启动以来的消息以及中的消息dmesg
。简而言之,来自dmesg
的原木被倒入/var/log/messages
。 /var/log/messages
维护常规系统活动日志,并且dmesg
仅维护内核日志。
/var/log/messages
,dmesg
在启动syslogd
和/或klogd
启动之后,它们会显示相同的日志(以不同的格式)吗?