【ディーメッセージ】

dmesg とは?

最終更新:
💡 カーネルのメッセージから、トラブルの手掛かりを読む

Linuxカーネルが出力するメッセージ(カーネルリングバッファ)を表示するコマンド。ハードウェアの認識状況やドライバのエラーなど、システムの低レベルな情報を確認できる。

📌 このページのポイント
dmesg:カーネルのメッセージを読む カーネル メッセージ出力 リングバッファ 表示の例 $ dmesg [12.3] usb ... [15.1] sda ... バッファに残る記録を調べる -T:日時に変換 不正確な場合も -w:追従表示 新しい記録を待つ -c:表示+クリア 通常の表示と区別 全イベントや全履歴が残る保証はない
矢印はメッセージの記録と表示の流れ。出力は省略した模式例で、-Tの日時はサスペンド・復帰後などに不正確な場合がある。
ひよこ ひよこ
dmesgって何が見られるの?
ペンギン先生 ペンギン先生
カーネルリングバッファに残っているメッセージを見るよ。デバイスの認識やドライバのエラーなど、カーネルが出力した記録が手掛かりになる。カーネルで起きた出来事がすべて記録される、という意味ではないんだ。
ひよこ ひよこ
カーネルリングバッファって何?
ペンギン先生 ペンギン先生
カーネルのメッセージを保持する、容量が限られた循環バッファだよ。古い記録が残り続ける保証はないので、dmesgだけで起動からの全履歴が見られるとは限らない。必要な記録は、ログを保存する仕組みでも確認しよう。
ひよこ ひよこ
時刻はどう読めばいいの?
ペンギン先生 ペンギン先生
既定のタイムスタンプは起動からの秒数だよ。「dmesg -T」で読みやすい日時に変換できる。ただし、サスペンド・復帰後などには日時が不正確になることがあるので、変換した時刻をそのまま正確だと決めつけないでね。
ひよこ ひよこ
必要なメッセージだけ見るには?
ペンギン先生 ペンギン先生
「dmesg --level=err,warn」でエラーと警告に絞れるよ。「dmesg -w」は新しいメッセージを待って表示する。環境の設定で読み取りに権限が必要な場合もあり、permission deniedならアクセスの制限も確認するんだ。
ひよこ ひよこ
見るだけのコマンドなの?
ペンギン先生 ペンギン先生
表示だけでなく制御もできるよ。「dmesg -c」は表示した後にバッファをクリアし、「dmesg -C」はクリアする。記録を確認したいときは、通常の表示とクリアする操作を区別して使おう。
もっと詳しく知りたい人へ

dmesg -wと-Wは同じ動き?

どちらも新しいメッセージを待つが、-W(--follow-new)は新しいメッセージだけを表示する。-wの追従表示は読み取り可能な/dev/kmsgが前提。利用環境の実装や権限を確認する。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「dmesg」って出てきたら「カーネルのメッセージを表示するコマンド」と思えばだいたいOK!
📖 おまけ:英語の意味
「dmesg」 = カーネルリングバッファを表示・制御するコマンド
💬 Linuxのマニュアルでは、カーネルリングバッファを表示・制御するコマンドとして説明されるよ。メッセージを見る用途から覚えると分かりやすいね

参考資料

← 用語集にもどる