注册
|
登录
发帖
热搜
活动
交友
discuz
论坛
BBS
翼度工具
翼度网址导航
开发工具
Linux命令速查
网页设计配色表
在线制作icon
颜色代码选取器
翼度科技
»
论坛
›
云主机
›
LINUX
›
查看内容
返回列表
发新帖
dmesg 时间误差现象
儿童节快乐
儿童节快乐
当前离线
积分
18
6
主题
6
帖子
18
积分
新手上路
新手上路, 积分 18, 距离下一级还需 32 积分
新手上路, 积分 18, 距离下一级还需 32 积分
积分
18
发消息
显示全部楼层
案例现象
这天收到监控平台发来的告警,说有台机器程序崩溃了
因为以前也有过相关的错误,根据经验,用 dmesg命令看下内核信息
发现有点不对劲,报错信息的时间跟告警时间不一致,正常来讲报错时间应该跟告警时间一致
使用 date 命令查看一下当前系统时间
然后我们查看一下系统日志
由上面的输出可以看到:
dmesg 显示错误信息的时间跟系统日志 /var/log/messages
显示错误信息的时间不一致
定位问题
我们知道, dmesg 和 /var/log/messages 都是用来记录服务器启动、运行期间的日志的
当机器出现问题时,运维人员可以从这两个日志输出中进行初步排查
我们
来看下 dmesg
输出和 /var/log/messages
的区别
:
dmesg 显示内核和内核模块的相关信息,/var/log/messages 不但显示内核信息,还显示系统活动信息
可以说 dmesg 输出的信息是 /var/log/messages 的子集, dmesg 输出的信息在 ring buffer 中维护,大小有限制
/var/log/messages包含所有系统消息以及dmesg 中的信息
那为什么这台机器上 dmesg 显示错误信息的时间跟系统日志 /var/log/messages显示错误信息的时间不一致呢?
由上面得知,我在查看 dmesg 信息的时候使用了 -T 参数,我们来看一下这个参数的含义
这个 -T 参数可以直接转换为人类可读时间(即年月日时分秒),但是不一定精确,如果系统挂起或者恢复之后,日志使用的时间源是不会更新的
也就是说,
dmesg -T
输出的内核信息并不能保证时间的准确性
又因为 dmesg -T 中记录的时间是
系统启动时间到事件发生时间的时间差
,这台机器每天都会进行
NTP 时间同步
以及
每隔一段时间会进行重启
所以就会出现内核日志的时间与系统日志时间不一致的现象
解决方案
关于dmesg -T 时间戳不精确的情况,我查了好多资料都说没有解决方法
所以在这里我建议大家如果想要获得准确的时间信息,就去查看系统日志——/var/log/messages
如果有小伙伴知道该如何解决的,可以告诉我
最后附上相关 issue 链接:
https://serverfault.com/questions/576139/dmesg-time-vs-system-time-time-isnt-correct
https://bugzilla.redhat.com/show_bug.cgi?id=895909
https://blog.tankywoo.com/2015/02/03/about-timestamp-in-dmesg.html
感谢阅读,
喜欢作者就动动小手
[
一键三连],关注公众号【咸鱼运维杂谈】
,这是我写作最大的动力
来源:
https://www.cnblogs.com/edisonfish/p/17283958.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
上一篇:
Neovim,要尝一口不?
下一篇:
linux下c语言的crypt函数怎么用?
发表于 2023-4-3 21:07:36
举报
回复
使用道具
分享
返回列表
发新帖
本版积分规则
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
快速回复
快速回复
返回顶部
返回顶部
返回列表
返回列表