dmesg介绍

技术分享

问题背景,我们的环境上偶尔会出现core文件不完整的情况,以前出现这种情况都没有办法及时处理,今天看文章找到了相关的处理方法

dmesg介绍

dmesg用来显示内核环缓冲区(kernel-ring buffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题 通常非常有用。在运行dmesg时,它显示大量信息。通常通过less或grep使用管道查看dmesg的输出,这样可以更容易找到待查信息。例如,如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式:dmesg | grep DMA

如果以太网连接出现问题,那么可以在dmesg日志中搜索eth

dmesg + addr2line

使用dmesg查看崩溃的位置

dmesg -T| grep asf

确定引发崩溃的so

[四10月1711:06:532019] asf[29610]: segfault at8ip 00007fe485de95c0 sp 00007fff0f3abca0 error4inlibasf_plugin_rest_server.so[7fe485ca6000+18e000]

用计算器起算出崩溃的地址

0x00007fe485de95c0-0x7fe485ca6000=0x1435c0

使用addr2line

addr2line -e libasf_plugin_rest_server.so 0x1435c0 -f

dmesg 命令的其它用途

oom kill 在dmesg也是可以查看到的,而且不需要root用户

查看是否出现网络断开的情况

dmesg 日志级别调整

1. 日志级别分类


2. 查看当前日志级别

cat /proc/sys/kernel/printk

3. 修改当前日志级别(需要root权限)

echo 8 > /proc/sys/kernel/printk

你可能感兴趣的:(dmesg介绍)