systemd-analyze se utiliza para determinar las estadísticas de rendimiento de arranque de tu sistema GNU/Linux sistema y recuperar otra información de estado y seguimiento del sistema y el administrador de servicios

Si alguna vez sientes que tu sistema GNU/Linux tarda mucho en arrancar desde que enciendes el equipo hasta que dispones de tu escritorio listo para usarse, puedes usar systemd-analyze con algunas de sus opciones para intentar ver dónde poder mejorar ese arranque.
Esta herramienta nos ofrece datos del tiempo que ha tardado cada tarea del proceso de arranque en diferentes formatos, diferentes opciones e incluso nos puede crear un gráfico con todos esos detalles.
systemd-analyze time
Este es el comando predeterminado, incluso si no especificamos ninguna opción y lo que hace es mostrarnos el tiempo pasado en el núcleo antes de que se alcance el espacio de usuario, el tiempo pasado en el initrd antes de que se alcance el espacio de usuario normal del sistema y el tiempo que tardó el espacio de usuario normal del sistema en inicializarse.
systemd-analyze
Startup finished in 1.932s (kernel) + 6.276s (initrd) + 43.100s (userspace) = 51.309s
graphical.target reached after 43.064s in userspace.
systemd-analyze blame
Este comando muestra una lista de todas las unidades en ejecución, ordenadas por el tiempo que tardaron en inicializarse. Esta información se puede utilizar para optimizar los tiempos de arranque.
Hay que tener en cuenta que el resultado puede ser engañoso ya que la inicialización de un servicio puede ser lenta simplemente porque espera a que se complete la inicialización de otro servicio.
20.709s dev-sda1.device
20.709s dev-disk-by\x2did-scsi\x2d0ATA_Hitachi_HTS54505_TEA51A3RCXXH8R\x2dpart1.device
20.709s dev-disk-by\x2dpartuuid-0001c146\x2d01.device
20.709s dev-disk-by\x2dpath-pci\x2d0000:00:1f.2\x2data\x2d1.0\x2dpart1.device
20.709s dev-disk-by\x2duuid-37c201e9\x2d93c3\x2d45cb\x2d9289\x2dc336180dd8ca.device
20.708s dev-disk-by\x2did-scsi\x2d1ATA_Hitachi_HTS545050A7E380_TEA51A3RCXXH8R\x2dpart1.device
20.708s dev-disk-by\x2did-scsi\x2d35000cca6f9cd2559\x2dpart1.device
20.708s dev-disk-by\x2dpath-pci\x2d0000:00:1f.2\x2data\x2d1\x2dpart1.device
20.708s dev-disk-by\x2did-wwn\x2d0x5000cca6f9cd2559\x2dpart1.device
20.708s dev-disk-by\x2did-scsi\x2dSATA_Hitachi_HTS54505_TEA51A3RCXXH8R\x2dpart1.device
20.708s dev-disk-by\x2did-ata\x2dHitachi_HTS545050A7E380_TEA51A3RCXXH8R\x2dpart1.device
20.708s sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda1.device
20.708s dev-disk-by\x2ddiskseq-1\x2dpart1.device
...
systemd-analyze critical-chain
Este comando muestra un gráfico en forma de «árbol» de la cadena de unidades de tiempo crítico (para cada una de las UNIDADES especificadas o, de lo contrario, para el objetivo predeterminado).
El tiempo después de que la unidad esté activa o iniciada se imprime después del carácter «@». El tiempo que tarda la unidad en arrancar se imprime después del carácter «+».
Hay que tener en cuenta que el resultado puede ser engañoso ya que la inicialización de los servicios puede depender de la activación del socket y debido a la ejecución paralela de las unidades.
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @43.064s
└─display-manager.service @36.112s +6.951s
└─systemd-user-sessions.service @36.043s +50ms
└─remote-fs.target @36.040s
└─iscsi.service @35.450s +588ms
└─network-online.target @35.447s
└─NetworkManager-wait-online.service @35.384s +59ms
└─NetworkManager.service @34.192s +1.111s
└─network-pre.target @34.172s
└─wpa_supplicant.service @40.956s +238ms
└─dbus.service @19.584s +5.206s
...
systemd-analyze plot
Este comando muestra la información en un gráfico SVG, que detalla qué servicios del sistema se iniciaron y en qué momento, resaltando el tiempo que dedicaron a la inicialización o los datos de tiempo sin procesar en formato JSON o de tabla.
systemd-analyze plot > ~/arranque.svg
Podemos posteriormente abrir el gráfico al que hemos exportado los datos (arranque.svg en el ejemplo) con un editor de gráficos vectoriales como es Inkscape.
Estas son solo algunas de las opciones disponibles del comando systemd-analyze que tiene muchas otras opciones. Quizás es interesante guardar unos de estos datos cuando el sistema va bien y compararlo si vemos que el sistema se ralentiza al arrancar para comparar.
He visto muchos systemd-analyze y a nadie le sale firmware y loader. ¿Por qué? (cierto es que tengo puestos 3 segundos para que siga Grub, por si he de elegir algo) Si me lo puedes aclarar.
systemd-analyze ✔ 11:51:45
Startup finished in 13.303s (firmware) + 3.053s (loader) + 852ms (kernel) + 3.462s (initrd) + 12.785s (userspace) = 33.457s
graphical.target reached after 12.779s in userspace
Saludos
Quizás esto sea de información?
https://forums.linuxmint.com/viewtopic.php?t=352220
Gracias. Así que eso (firmware y loader) sólo sale en instalaciones UEFI como la mia.
¿El systemd-analyze que pusistes es de una máquina que tienes en Legacy?
si, mi portátil que no tiene UEFI,
Saludos.
ni idea! ¿por algo del hardware?
yo en grub tengo 1 segundo
saludos…