この記録を読み出すのが 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 でタイムスタンプ付き表示が可能でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
Linuxシステム管理を体系的に学びたい方へ
dmesgコマンドによるカーネルログの読み方は、Linuxサーバートラブルシュートの基本スキルの一つです。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
