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

initcall_debug を使用して、CentOS/RHEL での起動中にカーネル呼び出しに時間がかかっていることを確認する

CentOS/RHEL では、ブート シーケンスのどの部分に時間がかかるかを判断するのが複雑な場合があります。ブート シーケンス中に発生するさまざまなイベントがいくつかあり、デフォルト レベルのログでは、問題の原因となっているコンポーネントを特定するには不十分な場合があります。その場合、この投稿で説明されている手順を使用して、遅い起動シーケンスの考えられる根本原因についてより多くのデータを収集できます。

1. /etc/grub.conf で一致する grub メニュー エントリのカーネル行を編集します。 .例:

[...]
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
[...]

それに次のパラメータを追加します:

initcall_debug

例として、結果のカーネル ブート引数を以下に示します:

[...]
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 initcall_debug
[...]

起動時に grub メニューのこのメニュー エントリを使用して、システムを再起動します。

2. このパラメーターを追加すると、シリアル コンソールと dmesg コマンドの両方の出力に、init 呼び出しが完了するまでに必要な時間が出力されます。例:

calling init_autofs4_fs+0x0/0x2a [autofs4] @ 1581
initcall init_autofs4_fs+0x0/0x2a [autofs4] returned 0 after 7463 usecs


Cent OS
  1. CentOS / RHEL 7 :起動時に自動的に実行されるカスタム スクリプトを作成する方法

  2. CentOS/RHEL/OEL 5 および 6 でデフォルトのカーネルを変更 (古いカーネルで起動)

  3. CentOS / RHEL 7 :timedatectl を使用して日付、時刻 / NTP およびタイムゾーンを設定する方法

  1. CentOS/RHEL での kdump の問題のトラブルシューティング

  2. CentOS/RHEL:YUM を使用してファイルが欠落しているパッケージを見つける方法

  3. GRUB2 (CentOS/RHEL 6) を使用して EFI ブートローダーで NUMA を無効にする方法

  1. デフォルトのカーネルを変更 (古いカーネルで起動) – CentOS/RHEL/OEL 7

  2. CentOS / RHEL で sysctl を使用して (即時かつ永続的に) カーネル パラメーターをクエリおよび変更する方法

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