GNU/Linux >> Linux Esercitazione >  >> Cent OS

L'uso di initcall_debug per trovare le chiamate al kernel richiede molto tempo durante l'avvio in CentOS/RHEL

In CentOS/RHEL, a volte è complesso determinare quale parte della sequenza di avvio richiede molto tempo. Durante la sequenza di avvio si verificano diversi eventi e talvolta il livello predefinito dei registri non è sufficiente per determinare il componente che causa il problema. In tal caso, i passaggi descritti in questo post possono essere utilizzati per raccogliere più dati su una possibile causa principale della sequenza di avvio lento.

1. Modifica la riga del kernel della voce del menu di grub corrispondente in /etc/grub.conf . Ad esempio:

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

E aggiungi il seguente parametro:

initcall_debug

Ad esempio, di seguito viene mostrato un argomento di avvio del kernel risultante:

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

E riavvia il sistema, usando questa voce di menu nel menu di grub all'avvio.

2. Dopo aver aggiunto questo parametro, sia la console seriale che l'output del comando dmesg stamperanno anche il tempo necessario per il completamento di una chiamata init. Ad esempio:

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


Cent OS
  1. Modifica il kernel predefinito (avvio con il vecchio kernel) in CentOS/RHEL/OEL 5 e 6

  2. CentOS / RHEL 7 :Come impostare data, ora / NTP e fuso orario usando timedatectl

  3. Come eseguire query e modificare i parametri del kernel utilizzando sysctl (immediatamente e persistentemente) in CentOS / RHEL

  4. Risoluzione dei problemi di kdump in CentOS/RHEL

  5. Come aggiungere timestamp all'avvio del kernel dmesg Accedi a CentOS/RHEL

CentOS / RHEL 7:processo di avvio

CentOS / RHEL 7:comando systemd-analyze per trovare i ritardi di avvio

CentOS / RHEL 7:come modificare la verbosità dei log di debug durante l'avvio

Come risolvere i problemi di latenza del trasferimento NFS utilizzando "nfsiostat" in CentOS / RHEL

CentOS / RHEL 7:come configurare kdump usando la GUI

CentOS / RHEL 6:come avviare i servizi in modo interattivo durante l'avvio (per disabilitare/interrompere alcuni servizi)