見出し画像

「dmesg」コマンドで ログ解析

Linuxを使っていると「システムがなぜ動かない?」「デバイスが反応しない?」といった問題に直面することがよくあります。そんなときに役立つのが、Linuxカーネルのメッセージを確認できるdmesgコマンドです。


dmesgとは?

dmesgは、カーネル(Linuxシステムの「心臓部」)が発するメッセージを確認するコマンドです。カーネルは、システムの起動中や動作中に、ハードウェアやドライバの状態、エラーなどの情報を「リングバッファ」というメモリ領域に記録します。dmesgは、このリングバッファを読み取って、メッセージを表示します。


なぜdmesgが必要?

システムの動きを覗くのにdmesgは最適です。たとえば、次のようなケースに役立ちます:

  1. システム起動時のエラー確認

    • 例:起動時にデバイスが認識されているか確認

  2. ハードウェアの問題診断

    • 例:USBメモリが正常に接続されているかチェック

  3. ネットワークのトラブルシューティング

    • 例:ネットワークインターフェースの問題を特定

  4. カーネルエラーの解析

    • 例:カーネルパニックやメモリエラーの原因を追究


基本の使い方

1. シンプルにメッセージを確認

カーネルメッセージ全体を確認するには、以下のコマンドを実行します。

dmesg

これは、システムの裏側でどんな「会話」が交わされているかを覗き見る感じです。たとえば、システムの起動ログやハードウェアの認識情報がズラッと表示されます。


2. リアルタイムで確認

システムに新しいデバイスを接続したり、何らかの操作をしたときに、カーネルの反応をリアルタイムで確認できます。

dmesg -w

たとえば、USBメモリを挿した瞬間に「USBデバイスが接続されました」というログが出るのを目で追えます。


3. 時間表示を見やすく

通常のdmesgでは、タイムスタンプがカーネルの起動からの秒数で表示されます。それを人間が理解しやすい日時形式にするには、-Tオプションを使います。

dmesg -T

これで、「イベントがいつ起きたか」がすぐにわかります。


4. 特定のメッセージを検索

grepを使って、興味のあるメッセージだけをフィルタリングできます。

例:USBデバイス関連のメッセージのみ確認

dmesg | grep usb

5. メッセージの重要度でフィルタ

dmesgはメッセージの重要度(エラーレベル)でフィルタリングできます。

  • エラーのみ表示: dmesg -l err

  • 警告以上を表示: dmesg -l warn


使えるシナリオと例え話

1. 起動時の問題確認 - 「探偵の捜査メモ」

システムの起動プロセスは探偵の捜査と似ています。dmesgは、「起動中にカーネルが調査してメモした内容」を全部見せてくれるものです。

例: 起動時に何がうまくいって、何が失敗したか調べる

dmesg | grep -i fail

2. ハードウェアの診断 - 「荷物チェックインカウンター」

新しいデバイスを接続すると、カーネルは「お、荷物がきた!」と反応します。dmesgは、接続された荷物(デバイス)がちゃんと受付されたかを確認するツールです。

例: USBデバイスの接続ログを見る

dmesg | grep usb

3. カーネルエラー解析 - 「警報装置のログ」

カーネルが異常を感知すると警報を鳴らします。その警報ログがdmesgです。これを見ると、「なぜエラーが起きたのか」を特定できます。

例: ファイルシステムのエラーを調査

dmesg | grep EXT4

注意点

  1. セキュリティ制限: 最近のLinuxでは、セキュリティ強化のため、一般ユーザーがdmesgを実行できない場合があります。この場合、sudoを付けて実行してください。

    1. sudo dmesg

  2. メッセージ量が多い: カーネルメッセージは膨大になることがあるので、lessやgrepで必要な情報だけを絞り込むと便利です。

  3. リアルタイム監視でのフィルタリング: -wオプションでリアルタイム表示する場合も、grepと組み合わせてフィルタリングが可能です。

    1. dmesg -w | grep usb


まとめ

dmesgは、システムの裏側で起きている出来事を把握するための「カーネルメッセージビューア」です。システム管理者にとってはなくてはならないツールで、特にハードウェアの問題やエラー解析に役立ちます。

次回、システムに不調があったときには、「探偵になった気持ち」でdmesgを使ってみてください。カーネルが語るメッセージを読み解けば、問題の真相にたどり着けるはずです!

いいなと思ったら応援しよう!