dmesg コマンド:起動時の出力メッセージ

コマンドの概要

 「dmesg(display message)」コマンドは、Linuxカーネルが起動時や実行中に発生するカーネルメッセージを表示するために使用されます。これには、ハードウェアやデバイスの初期化メッセージ、デバッグ情報、エラーメッセージなどが含まれます。

「/var/log/dmesg」ファイル

 「/var/log/dmesg」ファイルには、システムの起動時に生成されたカーネルメッセージが保存されます。このファイルは、起動時のメッセージをログとして永続的に保持するために使用されます。

‘/var/log/dmesg’ の出力
$ cat /var/log/dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-1160.108.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Jan 25 16:17:31 UTC 2024
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.108.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=ja_JP.UTF-8
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
(省略)

コマンドの主なオプションと説明

オプション説明
-cカーネルバッファをクリアし、表示しない。
-H人間にとって読みやすい形式で出力します。
-lログレベルを指定して表示する。※下表の利用可能なログレベル (優先度)を参照
-nログレベルを level に設定する。
-sバッファのサイズを指定して表示する。
-Tメッセージのタイムスタンプを人間が読みやすい形式で表示する。
主なオプションと説明
利用可能なログレベル (優先度)
ログレベル説明
emergシステムが利用できない状態です。
alertすぐに処理しなければならないものです。
crit致命的な状態です。
errエラー状態です。
warn警告状態です。
notice特に問題のない状態ですが、特定の状況を表すものです。
info参考情報です。
debugデバッグレベルのメッセージです。
利用可能なログレベル (優先度)

コマンドの使用例と解説

1.すべてのカーネルメッセージを表示する

カーネルが起動してから現在までのすべてのメッセージが表示されます。

$ dmesg
2.カーネルメッセージを最後の10行だけ表示する

最後の10行のカーネルメッセージが表示されます。

$ dmesg | tail
3.特定のログレベルのメッセージのみ表示する

エラーレベルのカーネルメッセージのみが表示されます。

$ dmesg -l err
4.メッセージのタイムスタンプを人間が読みやすい形式で表示する

カーネルメッセージのタイムスタンプが人間が読みやすい形式で表示されます。

$ dmesg -T

 「dmesg」コマンドを使用することで、システムの起動や動作に関する詳細な情報を取得し、デバッグやトラブルシューティングに役立てることができます。