dmesg -T导致时间戳不一致

时间:2015-02-01 21:05:43

标签: linux timestamp

此问题与暂停/恢复问题有关!

对于同一事件' dmesg'总是显示相同的时间戳,例如

[31765279.760248]

然而,当使用' dmesg -T'时,对于同一事件,它显示略微不同的秒数,例如两次调用dmesg -T | grep something | tail -1会导致:

[Thu Jan 29 01:12:39 2015] event details...
[Thu Jan 29 01:12:38 2015] event details...

我需要将事件与历史进行比较并对新事件采取行动。但是,这种差异使得无法使用简单的字符串比较。

作为一种解决方法,我在比较它们之前剪切字符串中的秒数。我可以在这种情况下这样做,因为我过滤的事件在5分钟内不会发生一次以上。

有谁知道为什么会发生这种不准确?

uname -a => Linux (hostname) 3.5.0-45-generic #68~precise1-Ubuntu SMP Wed Dec 4 16:18:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

1 个答案:

答案 0 :(得分:0)

通过将这些时间戳添加到系统引导时间,将这些时间戳转换为实时。如果系统出现在1491516481.480856282并且您为其添加了一个小数偏移,有时您会看到一个额外的完整秒。

没有检查过代码,但很确定这是原因。 Convert dmesg timestamp to custom date format中有更多信息,包括我写的回复。