dmesg にタイムスタンプを表示する方法

dmesg にタイムスタンプが表示されるように printk_time に 1 をセットする方法があります。

root# echo 1 > /sys/module/printk/parameters/printk_time

確認するには以下のようにやれば良いのかな?

root# echo "TEST" >/dev/kmsg
root# dmesg | tail -1
[3182488.266874] TEST

OS 起動時にセットするにはいろんな方法があると思いますが、
grub.conf の kernel に printk.time=1 を追記すれば良いみたいです。

そして、表示されたタイムスタンプを人間が理解できるように変換できるようです。
http://d.hatena.ne.jp/flalin/20110417/1303025836

なるほど。

ですが、おおまかに時刻が分かればよいので syslog の mark.debug のように
定期的にタイムスタンプを書き込んでおけば良いので cron で date を書き込むようにしました。

root# cat /etc/cron.d/mark_dmesg
0 * * * *       root    date > /dev/kmsg

ただし、cron が正常に動くのが前提なので、最初に書いた printk_time もセットしておいた方が良いです。icon_mrgreen.gif