为什么 dmesg 中的日期错误?

为什么 dmesg 中的日期错误?

我经常使用dmesg来监控新 USB 设备连接时的日志。我经常使用 来“跟踪”它的时间戳dmesg -Tw。但是现在时间戳是错误的。

例如,这是当前的日期:-

alan@gort:~$ date
Tue  6 Dec 12:10:59 GMT 2016

我刚刚连接了一个设备并记下了日期:-

[Mon Nov 28 02:51:24 2016] hid-generic 0003:16C0:0482.0010: input,hidraw2: USB HID v1.11 Mouse [Teensy Keyboard/Mouse/Joystick] on usb-0000:00:14.0-1.2/input1
[Mon Nov 28 02:51:24 2016] hid-generic 0003:16C0:0482.0011: hidraw3: USB HID v1.11 Device [Teensy Keyboard/Mouse/Joystick] on usb-0000:00:14.0-1.2/input2
[Mon Nov 28 02:51:24 2016] input: Teensy Keyboard/Mouse/Joystick as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1.2/2-1.2:1.3/0003:16C0:0482.0012/input/input33
[Mon Nov 28 02:51:24 2016] hid-generic 0003:16C0:0482.0012: input,hidraw4: USB HID v1.11 Joystick [Teensy Keyboard/Mouse/Joystick] on usb-0000:00:14.0-1.2/input3

为什么日志输出不正确?

答案1

脊状发布一条评论解释这一点,原帖已证实该解释是正确的:

联机帮助页 ( man dmesg) 中写道:

请注意时间戳可能不准确!系统 SUSPEND/RESUME 后,日志使用的时间源不会更新。

也许你的系统之前被暂停过?

答案2

解决方法是使用 journalctl 加上 -k、--dmesg。我使用 -k 因为它更短:

journalctl -k

它将只显示内核消息和正确的时间。

仅显示与短语匹配的内核行:

journalctl -kg phrase

相关内容