概要
dmesgは、カーネルが起動時に生成するメッセージ、ハードウェアの初期化情報、ドライバのロード状態、システムのエラーなどを記録するカーネルリングバッファの内容を表示します。このバッファは固定サイズであり、新しいメッセージが入ってくると古いメッセージが上書きされる可能性があります。
主な特徴
- システム起動メッセージの確認
- ハードウェア検出および初期化情報
- ドライバのロードとエラー診断
- カーネルパニックまたはクラッシュ情報
- リアルタイムカーネルイベントの監視(一部オプションを使用)
主なオプション
dmesgコマンドは、カーネルメッセージの出力を制御し、フィルタリングするための様々なオプションを提供します。
出力形式と制御
メッセージのフィルタリング
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`dmesg` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
dmesgコマンドを活用してカーネルメッセージを確認し、特定の情報をフィルタリングする様々な方法を示します。
基本的なカーネルメッセージの出力
dmesg
カーネルリングバッファのすべての内容を出力します。
読みやすい出力(ページャと色付け)
dmesg -H
出力をページャにパイプし、色を適用してスクロールと可読性を向上させます。
人間が読めるタイムスタンプ付きで出力
dmesg -T
メッセージに正確なタイムスタンプを追加し、いつ発生したかを簡単に把握できるようにします。
USB関連メッセージのフィルタリング
dmesg | grep -i usb
dmesgの出力をgrepと組み合わせて、USBデバイス関連のメッセージのみを検索します。
エラー(error)レベルのメッセージのみ出力
dmesg -l err
カーネルリングバッファから「err」レベルのメッセージのみをフィルタリングして出力します。
新規カーネルメッセージのリアルタイム追跡
dmesg -w
新しいカーネルメッセージが発生するたびに、即座にターミナルに出力します。システム監視に便利です。
ヒントと注意点
dmesgは強力な診断ツールですが、その膨大な出力のため、効率的な使用法を習得することが重要です。
便利な組み合わせ
dmesgは単独で使用するよりも、他のテキスト処理ツールと組み合わせることでさらに強力になります。
- `dmesg | less`: 出力が長すぎる場合にページ単位で確認
- `dmesg | grep -i 'error|fail'`: エラーまたは失敗メッセージを検索
- `dmesg -T | tail`: 最新のカーネルメッセージ数行のみを確認
- `dmesg | head -n 20`: 最初の20行のみを確認(主に起動初期のメッセージ)
注意点:バッファクリア (-c)
`-c`オプションはカーネルリングバッファをクリアするため、重要なログが失われる可能性があります。このオプションは、デバッグ目的で特定の時点からのメッセージを新たに収集する場合にのみ慎重に使用してください。
dmesgとjournalctlの違い
dmesgはカーネルリングバッファのメッセージのみを表示するのに対し、`journalctl`はsystemdジャーナルに記録されたすべてのシステムログ(カーネル、サービス、アプリケーションなど)を管理・照会する、より包括的なツールです。最新のシステムでは`journalctl`がより好まれる場合があります。