dmesgコマンドでLinuxの起動時ログを確認する方法|grepで情報を絞り込む実例付き


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, ログ管理 > dmesgコマンドでLinuxの起動時ログを確認する方法|grepで情報を絞り込む実例付き
Linuxが起動するとき、カーネルはメモリ・CPU・ストレージ・ネットワークカードなど、あらゆるハードウェアの認識状況をリングバッファ(カーネルの内部メモリ)に記録します。

この記録を読み出すのが dmesg コマンドです。新しいハードウェアを追加した際や、起動時にエラーが発生した際の原因調査に不可欠なコマンドです。

【この記事でわかること】

・dmesgコマンドで起動時のカーネルログ(/var/log/dmesg)を確認できる
・grep・lessと組み合わせることで必要な情報だけを素早く抽出できる
・ハードウェアの認識状況やエラーの有無をdmesgで確認するのが現場の定番
・CentOS 7以降ではjournalctlも合わせて使うと効果的

dmesgコマンドとは

dmesg コマンドは、カーネルのリングバッファに記録されたメッセージを表示します。このリングバッファの内容は /var/log/dmesg ファイルにも保存されていますが、dmesgコマンドを使う方が確実に最新情報を取得できます。

基本的な使い方

1. dmesgの基本実行

[root@Tiger ~]# dmesg Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.32-279.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) ... KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f800 (usable) 〈以下省略〉

情報量が非常に多いため、そのまま流し読みするのは実用的ではありません。以下のように絞り込んで使うのが現場の定番です。

2. lessでページング表示する

[root@Tiger ~]# dmesg | less

Space で次のページ、q で終了します。

3. grepで特定キーワードを抽出する

CPUやメモリ、特定のデバイスに関する情報だけを取り出したい場合は grep と組み合わせます。

# CPU情報だけを表示する [root@Tiger ~]# dmesg | grep CPU Transmeta TransmetaCPU SMP: Allowing 1 CPUs, 0 hotplug CPUs Initializing CPU#0 CPU0: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz stepping 02 # メモリ情報を表示する [root@Tiger ~]# dmesg | grep -i memory # ネットワークカードの認識状況を確認する [root@Tiger ~]# dmesg | grep -i eth

応用・よく使う絞り込み例

エラーや警告メッセージを確認する

起動時に問題が発生していないかを確認する際は、エラーや警告メッセージを優先して確認します。

# エラーメッセージを確認する [root@Tiger ~]# dmesg | grep -iE "error|fail|warn"

ストレージデバイスの認識状況を確認する

新しいHDD・SSDを追加した際の認識状況を確認できます。

# SATAデバイスの認識状況 [root@Tiger ~]# dmesg | grep -i sda [ 2.345678] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) [ 2.345900] sd 0:0:0:0: [sda] Write Protect is off

タイムスタンプ付きで表示する(CentOS 7以降)

CentOS 7/RHEL 7以降では -T オプションで人間が読みやすい形式のタイムスタンプを付与できます。

[root@server ~]# dmesg -T | tail -20 [Tue Apr 7 10:30:01 2026] usb 1-1: new high-speed USB device number 3 using xhci_hcd [Tue Apr 7 10:30:01 2026] usb 1-1: New USB device found, idVendor=0781, idProduct=5567

トラブルシュート

「dmesg: read kernel buffer failed: Operation not permitted」が出る場合

CentOS 7.6以降やRHEL 8以降では、一般ユーザーはdmesgを実行できなくなった場合があります。

# root権限で実行するか、sysctl設定を変更する [root@server ~]# dmesg # または $ sudo dmesg

本記事のまとめ

dmesg:カーネルのリングバッファに記録された起動時ログを表示
dmesg | less:ページング表示で読みやすく
dmesg | grep CPU:特定キーワードで絞り込む
dmesg | grep -iE "error|fail|warn":エラー・警告を抽出
・CentOS 7以降では dmesg -T でタイムスタンプ付き表示が可能

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

Linuxシステム管理を体系的に学びたい方へ

dmesgコマンドによるカーネルログの読み方は、Linuxサーバートラブルシュートの基本スキルの一つです。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。