dmesg的和/var/log/kern.log之间的区别(difference between d

2019-07-30 08:03发布

我修改了KVM模块,我已经加入code.After运行的虚拟机中的内核的printk语句,printk的给我有关guest OS的故障地址和其他信息。

我需要生成从这个info.When统计我用dmesg的我只能看到在内核空间,即他们的地址错误地址高于0xC0000000的。(错误地址时发生VMEXIT需要即我们从客户切换到主机模式)

当我看到在kern.log相同的统计数据我也得到断层地址与用户空间(小于0xc00000000)。 所以,在我看来,像dmesg的有能力有限,并且给出的信息是从kern.log一个子集。
我kern.log文件过大是它确定从kern.log擦除旧数据,因为文本处理,如grep命令,加盟,AWK正在采取太长的文件运行。

我的问题是:
是什么dmesg的和kern.log之间的区别?
如何降低kern.log文件大小为cron作业?(擦除在过去24小时内添加的所有数据)
有没有更好的办法从内核获得的printf kindof功能?

Answer 1:

/var/log/kern.log和他的旋转日志(/var/log/kern.log.1 /var/log/kern.log.2 ....)包含由内核产生并由处理的日志syslog

dmesg由手册页解释是:

dmesg的用于检查或控制内核环形缓冲区。

事实上,它会显示/var/log/kern.log的最后八位位组16392自去年启动。



文章来源: difference between dmesg and /var/log/kern.log