How to deal with dmesg timestamps

By default dmesg command print kernel ring buffer using timestamp for each logged message. It is easy to change this behavior and display date/time in human readable form using just one additional parameter but sometimes it is not supported so I will shortly touch upon this topic.

$ dmesg
[...]
[    1.028871] Linux agpgart interface v0.103
[    1.028940] agpgart-intel 0000:00:00.0: Intel Sandybridge Chipset
[    1.028999] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[    1.029857] agpgart-intel 0000:00:00.0: detected 65536K stolen memory
[...]

How to convert timestamps to human readable form?

The easiest way is to use -T or --ctime parameter.

$ dmesg -T
[...]
[Sat Oct 19 12:43:26 2013] Linux agpgart interface v0.103
[Sat Oct 19 12:43:26 2013] agpgart-intel 0000:00:00.0: Intel Sandybridge Chipset
[Sat Oct 19 12:43:26 2013] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[Sat Oct 19 12:43:26 2013] agpgart-intel 0000:00:00.0: detected 65536K stolen memory
[...]

What if above-mentioned parameters are not supported?

Sometimes you will encounter linux distribution in which such conversion is not supported but it can be easily implemented using the following shell script.

#!/bin/bash
# Translate dmesg timestamps to human readable format

# desired date format
date_format="%a %b %d %T %Y"

# uptime in seconds
uptime=$(cut -d " " -f 1 /proc/uptime)

# run only if timestamps are enabled
if [ "Y" = "$(cat /sys/module/printk/parameters/time)" ]; then
  dmesg | sed "s/^\[[ ]*\?\([0-9.]*\)\] \(.*\)/\\1 \\2/" | while read timestamp message; do
    printf "[%s] %s\n" "$(date --date "now - $uptime seconds + $timestamp seconds" +"${date_format}")" "$message"
  done
else
  echo "Timestamps are disabled (/sys/module/printk/parameters/time)"
fi

What if timestamps are missing?

Rarely you will find that timestamps are missing from the dmesg output.

$ dmesg
[...]
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
[...]

Read /sys/module/printk/parameters/time file to confirm that timestamps are disabled.

$ cat /sys/module/printk/parameters/time
N

To enable logging timestamps write Y to the above-mentioned file.

$ echo Y | sudo tee /sys/module/printk/parameters/time
This change will not be permanent as it will last until reboot. To make it permanent add printk.time=1 parameter to grub options.

Log test message and verify dmesg output to check out changes.

$ echo "Enabled timestamps" | sudo tee /dev/kmsg
$ dmesg
[...]
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
[...]
[271309.434405] Enabled timestamps
[...]
0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments (1)
Comment By DJKR - Tue, Dec 13th, 2022 4:16 PM
What timezone are the timestamps in the dmesg file If I look at the system time I see date Tue Dec 13 15:10:06 UTC 2022 however looking at the logs I see a different time date: invalid date `now - 88782715.55 seconds + lo: seconds' date: invalid date `now - 88782715.55 seconds + lo: seconds' date: invalid date `now - 88782715.55 seconds + lo: seconds' [] Disabled Privacy Extensions [] Disabled Privacy Extensions [Wed Dec 14 06:12:25 2022] Enabled timestamps [Wed Dec 14 06:13:14 2022] lo: Disabled Privacy Extensions [Wed Dec 14 06:13:14 2022] lo: Disabled Privacy Extensions
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Logrotate Example for Custom Logs
Viewed 2501 times since Sun, Jan 12, 2020
Linux get the list of FC HBA’s and WWPN
Viewed 3152 times since Tue, May 22, 2018
RHEL: ACLs basics
Viewed 6052 times since Sun, May 27, 2018
ZFS: Create a new zfs filesystem
Viewed 2503 times since Sun, Jun 3, 2018
Red Hat Cluster Tutorial
Viewed 1974 times since Sun, Jun 3, 2018
RHEL: Extending a multipath LUN
Viewed 4828 times since Sun, May 27, 2018
IPTABLES linux
Viewed 16933 times since Sat, Jun 2, 2018
INSTALACJA MIB SNMP W SYSTEMIE CENTOS/RHEL 6
Viewed 12878 times since Fri, Nov 30, 2018
Install Security Patches or Updates Automatically on CentOS and RHEL
Viewed 1700 times since Fri, Oct 26, 2018
rabbitmq Troubleshooting TLS-enabled Connections
Viewed 2312 times since Sun, Dec 6, 2020