Tempo necessário para reinicializar um servidor Linux

3

Existe uma maneira de descobrir quanto tempo levaria para reinicializar um servidor Linux? Para esclarecer, o tempo a partir do comando reboot começa quando o servidor está de volta e em execução (ou seja, todos os serviços iniciados, os usuários podem fazer logon, etc.).

Eu tentei olhar para o syslog, mas isso parece ser girado muito rapidamente.

Para o minuto mais próximo seria suficiente.

OS = CentOS & Ubuntu

Atualização: se não houver uma maneira simples - talvez o que seria uma maneira de capturar esses dados para uso futuro.

    
por DarkHeart 05.04.2016 / 07:34

1 resposta

10

Suponho que você esteja no CentOS 7+ ou no Ubuntu 15.04+, que vêm com o systemd. O Systemd tem ótimas ferramentas para descobrir quanto tempo o sistema demorou para inicializar junto com algumas visualizações para ver o motivo.

Para a saída mais básica, basta executar systemd-analyze e você terá um bom resumo, assim

Startup finished in 853ms (kernel) + 3min 50.610s (initrd) + 10.345s (userspace) = 4min 1.809s

Isso pode dizer quanto tempo sua última inicialização ocorreu depois que o systemd foi iniciado. Isso não leva em conta a inicialização do BIOS / hardware ou os tempos limite do GRUB, mas deve ser preciso para o tempo real de inicialização do SO.

Se você quiser descobrir por que o SO está demorando tanto, experimente systemd-analyze blame , que fornecerá um gráfico de serviços da mais longa para a mais curta. por exemplo, do meu sistema

3min 49.219s systemd-cryptsetup@luks\x2d62611c1c\x2d74ab\x2d4be9\x2d8990\x2d41c0fd863b5a.service
      5.315s plymouth-quit-wait.service
      3.084s systemd-udev-settle.service
      2.275s plymouth-start.service
      2.256s docker.service
      1.819s powertop.service
       778ms firewalld.service
       676ms dev-mapper-fedora\x2droot.device
       621ms abrtd.service
       493ms lvm2-monitor.service

Parece que 3 dos 4 minutos necessários para a minha inicialização do meu laptop é porque eu tenho uma unidade criptografada.

Finalmente, você pode ver uma cadeia de eventos que são considerados "críticos" para obter o sistema inicializado. A partir da página de manual , significa crítico "cadeia de unidades de tempo crítico". Isso ocorre porque o systemd paralela muitos serviços. Isso listará as unidades que precisam aguardar outra unidade e quanto tempo demorou para começar.

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 @10.336s
└─multi-user.target @10.323s
  └─docker.service @4.900s +2.256s
    └─network.target @4.868s
      └─wpa_supplicant.service @4.828s +14ms
        └─dbus.service @3.753s
          └─basic.target @3.749s
            └─sockets.target @3.749s
              └─docker.socket @3.741s +6ms
                └─sysinit.target @3.737s
                  └─systemd-update-utmp.service @3.726s +10ms
                    └─auditd.service @3.713s +9ms
                      └─systemd-tmpfiles-setup.service @3.617s +82ms
                        └─fedora-import-state.service @3.568s +36ms
                          └─local-fs.target @3.560s
                            └─run-user-42.mount @5.753s
                              └─local-fs-pre.target @383ms
                                └─systemd-tmpfiles-setup-dev.service @301ms +80ms
                                  └─kmod-static-nodes.service @268ms +10ms
                                    └─system.slice
                                      └─-.slice

Você também pode fazer algumas coisas legais exportando sua árvore de inicialização para uma imagem para enviá-la por e-mail ou plotá-la com svg. Veja a man page para mais detalhes ou este relacionado pergunta para mais alguns detalhes.

    
por 05.04.2016 / 18:16