
新Linux入門|dmesgコマンドの使い方を理解する:システム起動時のカーネルメッセージを確認する方法
Linuxが起動するとき、カーネルはハードウェアの認識やドライバの読み込みなど、
さまざまな初期化処理を行います。
その一連の動作を詳しく確認できるのが dmesgコマンド です💡
「最近USB機器を接続したのに認識されない…」
「ネットワークカードが正しく動かない…」
そんなとき、dmesg の出力をチェックすれば、原因のヒントが見つかることが多いんです👀
ここでは、dmesg の基本的な使い方や、よく使うオプション・実行例をわかりやすく紹介していきます。

⚙️ dmesgコマンドとは?
dmesg(display message) は、カーネルが記録しているリングバッファ(kernel ring buffer)の内容を表示するコマンドです。
このバッファには、起動時やデバイス認識時に生成されたメッセージが順番に格納されています。
🪶 ポイント
- ハードウェア検出やドライバのロード状況がわかる。
- 起動直後のトラブル原因を確認できる。
- USB機器・ネットワーク機器の認識状況もチェックできる。
💡 リングバッファとは?
カーネル内部に設けられたメモリ領域で、メッセージが一定量を超えると古いデータから上書きされる仕組みです。
🧮 コマンド書式
dmesg [オプション]🔍 基本構文の説明
| 項目 | 説明 |
|---|---|
| コマンド名 | dmesg |
| 主な対象 | カーネルリングバッファ |
| 実行権限 | 一般ユーザーで可(一部オプションはroot権限が必要) |
| 出力内容 | カーネル・デバイス・ドライバ関連メッセージ |
⚙️ 主なオプション
| オプション | 説明 |
|---|---|
| -c | メッセージを表示したあと、バッファをクリア(rootのみ) |
| -k | カーネル関連のメッセージのみ表示 |
| -l, --level | 指定したレベルのメッセージを抽出(例:err, warn, info) |
| -n | コンソール出力のログレベルを変更 |
| -s | バッファサイズを指定して読み込む |
| -T | タイムスタンプを人が読みやすい形式で表示 |
| -w | 新しいメッセージをリアルタイムで監視 |
📝 補足
dmesgのオプションはかなり豊富で、
AlmaLinux 9.6 に搭載されているバージョンでは次のように確認できます👇
[suzuki@AlmaLinux ~]$ dmesg --help出力例の一部
使い方:
dmesg [オプション]
カーネルのリングバッファを表示、制御します。
オプション:
-C, --clear カーネルのリングバッファを消去します
-c, --read-clear 読み込んでからすべてのメッセージを消去します
-D, --console-off コンソールに対するメッセージ出力を無効にします
-E, --console-on コンソールに対するメッセージ出力を有効にします
(省略)🧪 使用例と実行結果
① 基本的な使い方
[suzuki@AlmaLinux ~]$ dmesg出力例
(省略)
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ffeffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000007fff0000-0x000000007fffffff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
(省略)📘 解説
- [0.000000] はカーネル起動からの経過時間(秒)
- Linux version ... はカーネルのビルド情報
- e820: 以降はメモリマップ情報です
② エラーレベルのログだけを表示
[suzuki@AlmaLinux ~]$ dmesg -l err出力例
[suzuki@AlmaLinux ~]$ dmesg -l err
[ 1.339573] systemd[1]: Invalid DMI field header.
[ 3.242252] vmwgfx 0000:00:02.0: [drm] *ERROR* vmwgfx seems to be running on an unsupported hypervisor.
[ 3.242255] vmwgfx 0000:00:02.0: [drm] *ERROR* This configuration is likely broken.
[ 3.242256] vmwgfx 0000:00:02.0: [drm] *ERROR* Please switch to a supported graphics device to avoid problems.
[ 4.716164] systemd[1]: Invalid DMI field header.💡 ポイント
-lオプションにより、エラー(err)レベルのメッセージのみを抽出できます。
他にも warn(警告)や info(情報)などを指定できます。
③ タイムスタンプを人間が読みやすい形式に変換
[suzuki@AlmaLinux ~]$ dmesg -T出力例
(省略)
[火 12月 9 22:40:26 2025] BIOS-provided physical RAM map:
[火 12月 9 22:40:26 2025] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[火 12月 9 22:40:26 2025] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[火 12月 9 22:40:26 2025] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[火 12月 9 22:40:26 2025] BIOS-e820: [mem 0x0000000000100000-0x000000007ffeffff] usable
[火 12月 9 22:40:26 2025] BIOS-e820: [mem 0x000000007fff0000-0x000000007fffffff] ACPI data
[火 12月 9 22:40:26 2025] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
(省略)🕒 解説
- タイムスタンプ [Mon Nov 25 01:04:11 2025] がわかりやすい形式で表示されます。
- ログ解析やトラブル発生時間の特定に便利です。
④ カーネルメッセージバッファのクリア(root専用)
[root@AlmaLinux ~]# dmesg -c出力例
(省略)
[ 0.000000] Linux version 5.14.0-611.5.1.el9_7.x86_64.....
[ 0.000000] The list of certified hardware and cloud instances.....
(省略)💡 解説
-cオプションを指定すると、現在のメッセージを表示したあとにバッファをクリアします。
クリア後に再度 dmesg を実行しても、出力は空になります。
🌟 まとめ
dmesgコマンド は、Linuxシステムの起動やハードウェア検出の“舞台裏”を確認できる便利なツールです🧠💻
特に以下のような場面で大活躍します👇
- USBやディスクなどのデバイス認識を調べたいとき
- システム起動時のエラーやドライバの不具合を確認したいとき
- 起動直後のトラブル解析やハードウェア診断を行いたいとき
AlmaLinux 9.6 では、最新カーネルに対応した dmesg が搭載されており、
-T や -l などのオプションを駆使すれば、情報を整理して見やすく表示できます。
システム管理者にとって、dmesgはトラブルシューティングの第一歩です🐧✨
