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启动之后,它们会显示相同的日志(以不同的格式)吗?