重新启动 Linux 服务器所需的时间

5 linux time reboot

有没有办法计算重新启动 Linux 服务器需要多长时间?澄清一下,从重启命令开始到服务器备份并运行的时间(即所有服务启动,用户可以登录等)。

我尝试查看系统日志,但它似乎旋转得太快了。

到最近的分钟就足够了。

操作系统 = CentOS 和 Ubuntu

更新:如果没有一种简单的方法 - 也许有什么方法可以捕获这些数据以备将来使用。

Jus*_*son 13

我假设您使用的是 CentOS 7+ 或 Ubuntu 15.04+,它们都带有 systemd。Systemd 有一些很棒的工具来计算你的系统启动需要多长时间以及一些可视化来了解原因。

对于最基本的输出,只需运行systemd-analyze,你就会得到一个很好的总结

Startup finished in 853ms (kernel) + 3min 50.610s (initrd) + 10.345s (userspace) = 4min 1.809s
Run Code Online (Sandbox Code Playgroud)

这可以告诉您 systemd 启动后上次启动所用的时间。这没有考虑 BIOS/硬件初始化或 GRUB 超时,但对于实际的操作系统启动时间应该是准确的。

如果您想弄清楚为什么操作系统需要这么长时间,请尝试一下systemd-analyze blame,这将为您提供从运行时间最长到最短的服务图表。例如从我的系统

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
Run Code Online (Sandbox Code Playgroud)

看起来我的笔记本电脑启动所需的 4 分钟中有 3 分钟是因为我有一个加密的驱动器。

最后,您可以看到被认为是启动系统的“关键”事件链。来自手册页的关键意味着“时间关键的单元链”。这是因为 systemd 并行化了很多服务。这将列出必须等待另一个单元的单元以及启动所需的时间。

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
Run Code Online (Sandbox Code Playgroud)

您还可以通过将启动树导出到图片以通过电子邮件发送或使用 svg 绘制它来做一些很酷的事情。有关更多详细信息,请参阅手册页或有关更多详细信息的此相关问题