GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS/RHEL で dmesg カーネル ブート ログにタイムスタンプを追加する方法

問題の分析中または日常の操作中に、特にブート プロセス中に、何がシステムを遅くしているのかを正確に判断するのが難しい場合があります。この問題の原因の 1 つは、次のコマンドの出力です:

# dmesg
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
type=1305 audit(1445931490.439:4): audit_pid=1333 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts

カーネル リング バッファは表示されますが、タイムスタンプはありません。各エントリの相対時間に関する情報は出力されません。

各エントリの相対時間は実際には利用可能ですが、デフォルトでは表示されません。 /boot/grub/grub.conf を編集します printk.time 句を追加します カーネルコマンドラインへ:

[...]
root (hd0,0)
kernel /vmlinuz-3.8.13-68.3.4.el6uek.x86_64 ro root=/dev/mapper/vg_ol67-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_ol67/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_ol67/lv_root KEYBOARDTYPE=pc KEYTABLE=be-latin1 rd_NO_DM rhgb quiet printk.time
[...]

このカーネル オプションは time を有効にします カーネル printk の機能 モジュールは、メッセージ リング バッファ エントリとそのメッセージのタイムスタンプの両方を抽出します。以前の起動例を繰り返すと、ログ エントリの前に相対タイムスタンプが表示されます。

[...]
[ 12.376443] NET: Registered protocol family 10
[ 12.381220] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 12.476857] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 12.574589] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 16.414883] type=1305 audit(1445931490.439:4): audit_pid=1333 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
[ 20.797095] SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
[ 20.950517] SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
[...]

タイムスタンプは、システムが起動してからの秒数で表されます。 2 つは、ログ エントリ間の経過時間を計算します。単純に小さいタイムスタンプから大きいタイムスタンプを引きます。

時刻などの他のタイムスタンプ形式は、NTP などの高度な日付操作がまだ起動シーケンスの初期化されていないため、利用できません。


Cent OS
  1. CentOS / RHEL で Magic SysRq ツールを使用する方法

  2. CentOS/RHEL で CUPS デバッグを有効にする方法

  3. CentOS/RHEL に言語サポートを追加する方法

  1. CentOS / RHEL 7 :特定のカーネルだけにカーネル パラメータを追加する方法

  2. CentOS / RHEL で新しい /boot パーティションを作成する方法

  3. CentOS/RHEL 7 で systemd にカスタム スクリプトを追加する方法

  1. CentOS 7 /Rhel7でautofsデーモンを構成する方法

  2. CentOS / RHEL :すべての LVM コマンドをログに記録する方法

  3. CentOS/RHEL 5,6 でロケール アーカイブを追加/削除する方法