GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

CentOS / RHEL 7 :systemd-analyze-Befehl, um Verzögerungen beim Booten zu finden

Frage :Mein System braucht viel Zeit zum Booten. Wie kann ich herausfinden, welche Dienste lange brauchen, um zu starten?

Antwort :

systemd-analyze Der Befehl kann verwendet werden, um Informationen darüber zu erhalten, wie viel Zeit jeder Dienst zum Starten benötigt hat. systemd-analyze time kann allgemeine Informationen darüber liefern, wie lange es gedauert hat, bis das System gestartet wurde. Hier ist ein Befehl, der die Zeit anzeigt, die Kernel, Initrd und Userspace beim Booten benötigen.

# systemd-analyze time
Startup finished in 1.267s (kernel) + 6.798s (initrd) + 1min 2.139s (userspace) = 1min 10.205s

Um herauszufinden, wie viel Zeit jede Einheit zum Starten benötigt hat, führen Sie systemd-analyze-Schuldgefühle aus .

# 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

Da die Ausgabe nach der Zeit sortiert ist, die jede Einheit benötigt, können Sie leicht herausfinden, welcher Dienst beim Booten mehr Zeit in Anspruch nimmt, und tiefer eintauchen, um das Problem zu analysieren.

Bei bestimmten Schritten kann der Start nicht fortgesetzt werden, bis alle Abhängigkeiten für die Einheit erfüllt sind. Um Einheiten an diesen kritischen Punkten zu sehen, führen Sie systemd-analyze critical-chain aus .

# 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

Ein SVG-Grafikbild kann geplottet werden, das Details zur Startzeit der Systemdienste enthält und die Zeit hervorhebt, die sie für die Initialisierung aufgewendet haben. Stellen Sie sicher, dass Sie den grafischen Anzeigemodus oder X-Fenster aktiviert haben, um den Plot zu sehen.

# systemd-analyze plot > plot.svg
# eog plot.svg

Hier ist ein Ausschnitt aus dem Beispieldiagramm auf meinem CentOS 7-Computer. Zoomen Sie heran, um den Wasserfall deutlich zu sehen.


Cent OS
  1. So starten Sie den Netzwerkdienst unter CentOS 8 oder RHEL 8 neu

  2. CentOS / RHEL 7 firewalld :Befehlszeilenreferenz (Cheat Sheet)

  3. CentOS / RHEL 7 :Führen Sie niemals den iptables-Dienst und den FirewallD-Dienst gleichzeitig aus!

  4. CentOS / RHEL 7:So ändern Sie die Zeitzone

  5. CentOS / RHEL 7:vsftpd-Dienst kann nicht gestartet werden

So installieren Sie Putty in RHEL 8 / CentOS 8

26 DNF-Befehlsbeispiele in Fedora / CentOS / RHEL

So ändern Sie die Zeitzone in CentOS 8 / RHEL 8

So installieren Sie Scala 3 auf RHEL 8 / CentOS 8

CentOS / RHEL 7 :Bootvorgang

So beheben Sie NFS-Übertragungslatenzprobleme mit „nfsiostat“ in CentOS / RHEL