相关疑难解决方法(0)

dmesg和/var/log/kern.log之间的区别

我正在修改kvm模块,我在内核代码中添加了printk语句.在运行虚拟机之后,printk向我提供了有关客户操作系统的错误地址和其他信息.

我需要从这个信息生成统计信息.当我使用dmesg时,我只能看到内核空间中的错误地址,即它们的地址高于0XC0000000.(当VMEXIT发生时需要故障地址,即我们从guest虚拟机切换到主机模式)

当我在kern.log中看到相同的统计信息时,我也会从用户空间(低于0XC0000000)获得错误地址.所以在我看来dmesg的容量有限,而且给出的信息是kern.log的一个子集.
我的kern.log文件太大了可以从kern.log中删除旧数据,因为像grep,join,awk这样的文本处理命令在文件上运行的时间太长了.

我的问题是:
dmesg和kern.log 有什么区别?
如何将kern.log文件大小减少为cron作业?(擦除过去24小时内添加的所有数据)
有没有更好的方法从内核获取printf类型的功能?

logging linux-kernel printk

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

linux-kernel ×1

logging ×1

printk ×1