GNU/Linux >> LINUX-Kenntnisse >  >> Linux

systemd-analyze-Befehlsbeispiele unter Linux

Der Befehl systemd-analyze wird verwendet, um Leistungsstatistiken für Bootvorgänge abzurufen. Der Befehl akzeptiert einen oder mehrere Unterbefehle, die bestimmen, welche Art von Informationen gedruckt werden sollen und wie. Für das Prozessmanagement und die Fehlerbehebung ist Schuld der relevanteste Unterbefehl. Dadurch wird eine Liste aller systemd-Einheiten gedruckt, die beim Booten ausgeführt wurden, zusammen mit der Zeit, die jede Einheit zur Ausführung benötigt hat. Sie können systemd-analyze-Schuld verwenden um Dienste und andere Einheiten zu identifizieren, die das Booten des Systems verlangsamen.

Syntax

Die Syntax des Befehls systemd-analyze lautet:

# systemd-analyze [options] [subcommand]

Der Befehl systemd-analyze 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-schuld 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.

systemd-analyze-Befehlsbeispiele

1. Listen Sie die Startzeit jeder Einheit auf:

# systemd-analyze blame

2. Drucken Sie einen Baum der zeitkritischen Einheitenkette:

# systemd-analyze critical-chain

3. Erstellen Sie eine SVG-Datei, die zeigt, wann jeder Systemdienst gestartet wurde, und heben Sie die Zeit hervor, die sie für die Initialisierung aufgewendet haben:

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

4. Zeichnen Sie ein Abhängigkeitsdiagramm und konvertieren Sie es in eine SVG-Datei:

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

5. Sicherheitswerte der laufenden Einheiten anzeigen:

# systemd-analyze security


Linux
  1. sa-Befehlsbeispiele in Linux

  2. ac-Befehlsbeispiele in Linux

  3. df-Befehlsbeispiele in Linux

  4. du-Befehlsbeispiele in Linux

  5. systemctl-Befehlsbeispiele in Linux

10 Beispiele für iftop-Befehle unter Linux

16 Beispiele für Echo-Befehle unter Linux

9 Beispiele für tee-Befehle unter Linux

9 diff-Befehlsbeispiele in Linux

Linux-IP-Befehl mit Beispielen

id-Befehlsbeispiele in Linux