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.