dmesg コマンドは、ハードウェアの問題のトラブルシューティングに最適なコマンドです。システムが最初に起動するとき、カーネルはそのシステムで利用可能なさまざまなハードウェア デバイスを識別します。カーネルがこれらのデバイスを識別すると、情報がカーネルのリング バッファーに書き込まれます。このリング バッファは、基本的にカーネルの内部ログです。 dmesg コマンドを使用して、このリング バッファーを出力できます。
以下は、dmesg コマンドからの出力例です:
# dmesg [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 3.10.0-229.1.2.el7.x86_64 ([email protected]) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Fri Mar 27 03:04:26 UTC 2015 [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-229.1.2.el7.x86_64 root=/dev/mapper/md0-root ro rd.lvm.lv=md0/swap crashkernel=auto rd.md.uuid=bec13d99:42674929:76663813:f748e7cb rd.lvm.lv=md0/root rd.md.uuid=7adf0323:b0962394:387e6cd0:b2914469 rhgb quiet LANG=en_US.UTF-8 systemd.debug [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009
オプション -T を使用できます タイムスタンプとともにメッセージを表示します。
# dmesg -T | less
dmesg コマンドの例
1. カーネル リング バッファを印刷または制御するには:
# dmesg
2. 印刷後にカーネル リング バッファをクリアするには:
# dmesg -c
3. 生のメッセージ バッファを印刷するには:
# dmesg -r
4. リング バッファ サイズを指定するには:
# dmesg -s 1024
5. ロギングのレベルを設定するには:
# dmesg -n level # dmesg -n 1 ## prevent all messages