GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de comandos systemd-analyze en Linux

El comando systemd-analyze se usa para recuperar estadísticas de rendimiento para las operaciones de arranque. El comando toma uno o más subcomandos que determinan qué tipo de información imprimir y cómo. Para la gestión de procesos y la resolución de problemas, la culpa es el subcomando más relevante. Esto imprimirá una lista de todas las unidades systemd que se ejecutaron en el arranque, junto con el tiempo que tardó en ejecutarse cada unidad. Puede usar systemd-analyze reproche para identificar los servicios y otras unidades que hacen que el sistema arranque lento.

Sintaxis

La sintaxis del comando systemd-analyze es:

# systemd-analyze [options] [subcommand]

El comando systemd-analyze se puede utilizar para obtener información sobre cuánto tardó en iniciarse cada servicio. systemd-analyze time 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ó cada unidad en iniciarse, 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.

Ejemplos de comandos systemd-analyze

1. Indique el tiempo de puesta en marcha de cada unidad:

# systemd-analyze blame

2. Imprima un árbol de la cadena de unidades de tiempo crítico:

# systemd-analyze critical-chain

3. Cree un archivo SVG que muestre cuándo se inició cada servicio del sistema, resaltando el tiempo que dedicaron a la inicialización:

# systemd-analyze plot > path/to/file.svg

4. Trace un gráfico de dependencia y conviértalo en un archivo SVG:

# systemd-analyze dot | dot -Tsvg > path/to/file.svg

5. Muestra las puntuaciones de seguridad de las unidades en ejecución:

# systemd-analyze security


Linux
  1. 7 ejemplos de comandos Linux df

  2. 8 ejemplos de comandos TR de Linux

  3. Ejemplos de comandos rm en Linux

  4. Ejemplos de comandos ps en Linux

  5. Ejemplos de comandos de servicio en Linux

10 ejemplos de comandos iftop en Linux

16 ejemplos de comandos de eco en Linux

9 ejemplos de comandos tee en Linux

9 ejemplos de comandos diff en Linux

Comando ip de Linux con ejemplos

Ejemplos de comandos id en Linux