Pregunta:Mi sistema tarda mucho en arrancar. ¿Cómo puedo saber qué servicios tardan más en iniciarse?
Respuesta:
systemd-análisis El comando se puede utilizar para obtener información sobre cuánto tardó en iniciarse cada servicio. systemd-analizar tiempo puede proporcionar información general sobre cuánto tiempo tardó el sistema en iniciarse. Aquí hay un comando que muestra claramente el tiempo que tarda el kernel, el initrd y el espacio de usuario durante el arranque.
# systemd-analyze time Startup finished in 1.267s (kernel) + 6.798s (initrd) + 1min 2.139s (userspace) = 1min 10.205s
Para averiguar cuánto tiempo tardó en iniciarse cada unidad, ejecute systemd-analyze Blau. .
# systemd-analyze blame
24.728s dev-mapper-centosx2droot.device
15.135s kdump.service
14.670s plymouth-quit-wait.service
14.210s firewalld.service
9.835s accounts-daemon.service
7.383s ModemManager.service
7.259s libvirtd.service
7.257s systemd-logind.service
7.177s ksm.service
7.081s gssproxy.service
7.067s avahi-daemon.service
7.062s rsyslog.service
7.039s abrt-ccpp.service Como ve, la salida se ordena según el tiempo que tarda cada unidad, puede averiguar fácilmente qué servicio está tardando más durante el arranque y puede profundizar más para analizar el problema.
En ciertos pasos, el arranque no puede continuar hasta que se satisfagan todas las dependencias de la unidad. Para ver las unidades en estos puntos críticos, ejecute systemd-analyze Critical-Chain .
# systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.
graphical.target @1min 2.102s
└─multi-user.target @1min 2.102s
└─abrt-vmcore.service @1min 1.228s +872ms
└─kdump.service @46.090s +15.135s
└─remote-fs.target @46.086s
└─remote-fs-pre.target @46.083s
└─iscsi-shutdown.service @45.951s +99ms
└─network.target @45.944s
└─network.service @44.959s +975ms
└─NetworkManager.service @38.653s +689ms
└─firewalld.service @24.439s +14.210s
└─basic.target @23.850s
└─sockets.target @23.849s
└─cups.socket @23.847s
└─sysinit.target @23.618s
└─systemd-update-utmp.service @23.603s +13ms
└─auditd.service @22.959s +643ms
└─systemd-tmpfiles-setup.service @22.726s +230ms
└─rhel-import-state.service @22.431s +294ms
└─local-fs.target @22.428s
└─boot.mount @19.675s +2.126s
└─dev-disk-byx2duuid-7de2053cx2d44d7x2d4f33x2db522x2d81dee2f6b69b.device @19.652s La imagen gráfica SVG se puede trazar y contiene detalles sobre la hora de inicio de los servicios del sistema, destacando el tiempo que dedicaron a la inicialización. Asegúrese de haber habilitado el modo de visualización gráfica o tener las ventanas x habilitadas para ver el gráfico.
# systemd-analyze plot > plot.svg # eog plot.svg
Aquí hay un recorte de un gráfico de muestra en mi máquina CentOS 7. Haz zoom para ver la cascada con claridad.
