dmesg时间转换工具

本文介绍了在排查问题时创建的ts_dmesg.sh工具,该工具用于将dmesg的系统uptime时间戳转换为绝对时间。内容涉及到/proc/uptime的解析,解释了系统空闲时间和运行时间的关系,并提供了将dmesg时间格式化的办法。
摘要由CSDN通过智能技术生成

最近在排查一个core问题,对dmesg的时间戳,做了一个转化工具:ts_dmesg.sh

借助awk 和shell实现:

#!/bin/sh

uptime_ts=`cat /proc/uptime | awk '{ print $1}'`
#echo $uptime_ts
dmesg | awk -v uptime_ts=$uptime_ts 'BEGIN {
    now_ts = systime();
    start_ts = now_ts - uptime_ts;
    #print "system start time seconds:", start_ts;
    #print "system start time:", strftime("[%Y/%m/%d %H:%M:%S]", start_ts);
 }
{
    print strftime("[%Y/%m/%d %H:%M:%S]", start_ts + substr($1, 2, length($1) - 2)), $0
}'



关于dmesg的原始时间戳,是系统的产生mesg的系统uptime时间,故需要获取系统的启动时间;


关于系统uptime时间:

/proc/uptime详解

在Linux中,我们常常会使用到uptime命令去看看系统的运行时间,它与一个文件有关,就是/proc/uptime,下面对其进行详细介绍。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值