Shutdown (Begriff): Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „ = Shutdown Taking Too Long? Here's How to Investigate and Fix Long Shutdown Time in Linux = '''''Your Linux system is taking too long to shut down? Here are the steps you can take to find out what is causing the delayed shutdown and fix the issue.''''' I hope you are a tad bit familiar with the sigterm and sigkill concept. When you shut down your Linux system, it sends the sigterm and politely asks the running processes to stop. Some processes misbehav…“ |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
== Dauert das Herunterfahren zu lange? So können Sie lange Shutdown-Zeiten unter Linux untersuchen und beheben == | |||
'''''Ihr Linux-System braucht zu lange zum Herunterfahren? Hier sind die Schritte, die Sie unternehmen können, um herauszufinden, was die Ursache für das verzögerte Herunterfahren ist, und das Problem zu beheben.''''' | |||
Ich hoffe, Sie sind ein wenig mit dem Konzept von sigterm und sigkill vertraut. | |||
Wenn Sie Ihr Linux-System herunterfahren, sendet es den sigterm und bittet die laufenden Prozesse höflich, anzuhalten. Einige Prozesse benehmen sich falsch und ignorieren den Sigterm und laufen weiter. | |||
Dies kann zu einer Verzögerung des Herunterfahrens führen, da Ihr System eine bestimmte Zeit lang auf das Anhalten der laufenden Prozesse wartet. Nach Ablauf dieser Zeitspanne sendet es das Kill-Signal, um alle noch laufenden Prozesse zu stoppen und das System herunterzufahren. Ich empfehle die Lektüre von sigterm vs. sigkill, um den Unterschied zu verstehen. | |||
In manchen Fällen sehen Sie auf dem schwarzen Bildschirm eine Meldung wie "a stop job is running". | |||
Wenn Ihr System zu lange zum Herunterfahren braucht, können Sie Folgendes tun: | |||
* Prüfen Sie, welcher Prozess/Dienst zu lange braucht und ob Sie ihn entfernen oder neu konfigurieren können, damit er sich richtig verhält. | |||
* Ändern Sie die Standardwartezeit, bevor Ihr System die laufenden Prozesse zwangsweise beendet. [Schnelle und schmutzige Lösung] | |||
Ich verwende hier Ubuntu, das systemd verwendet. Die Befehle und Schritte hier sind für jede Linux-Distribution gültig, die systemd verwendet (die meisten tun das). | |||
== Überprüfen Sie, welche Prozesse das lange Herunterfahren von Linux verursachen == | |||
Wenn Sie herausfinden wollen, was los ist, sollten Sie überprüfen, was beim letzten Herunterfahren passiert ist. Verwenden Sie diesen Befehl, um die Macht des "Ich weiß, was Sie in der letzten Sitzung getan haben" zu erhalten (Wortspiel beabsichtigt): | |||
== | |||
<code>journalctl -rb -1</code> | <code>journalctl -rb -1</code> | ||
Mit dem Befehl journalctl können Sie die Systemprotokolle lesen. Mit der Option '-b -1' filtern Sie die Protokolle für die letzte Boot-Session. Mit der Option '-r' werden die Protokolle in umgekehrter chronologischer Reihenfolge angezeigt. | |||
Mit anderen Worten: Der Befehl 'journalctl -rb -1' zeigt die Systemprotokolle kurz vor dem letzten Herunterfahren Ihres Linux-Systems an. Das ist genau das, was Sie brauchen, um das Problem des langen Herunterfahrens in Linux zu analysieren. | |||
Finden Sie etwas Verdächtiges in den Protokollen? Gibt es einen Prozess/Dienst, der sich weigert, anzuhalten? Wenn ja, untersuchen Sie, ob Sie ihn ohne Nebenwirkungen entfernen oder neu konfigurieren können. Bitte entfernen Sie hier nicht einfach blindlings Dinge. Sie sollten Kenntnisse über den Prozess haben. | |||
== | == Beschleunigen Sie das Herunterfahren unter Linux, indem Sie den Standard-Timeout für das Herunterfahren reduzieren [Quick fix] == | ||
Die Standardwartezeit für das Herunterfahren ist normalerweise auf 90 Sekunden eingestellt. Ihr System versucht, die Dienste nach dieser Zeitspanne zwangsweise zu beenden. | |||
Wenn Sie möchten, dass Ihr Linux-System schnell herunterfährt, können Sie diese Wartezeit ändern. | |||
Sie finden alle systemd-Einstellungen in der Konfigurationsdatei unter /etc/systemd/system.conf. Diese Datei sollte mit vielen Zeilen gefüllt sein, die mit # beginnen. Sie stellen die Standardwerte der Einträge in der Datei dar. | |||
Bevor Sie irgendetwas tun, ist es eine gute Idee, eine Kopie der Originaldatei zu erstellen. | |||
<code>sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig</code> | <code>sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig</code> | ||
Suchen Sie hier nach DefaultTimeoutStopSec. Er sollte wahrscheinlich auf 90 Sekunden gesetzt werden. | |||
<code>#DefaultTimeoutStopSec=90s</code> | <code>#DefaultTimeoutStopSec=90s</code> | ||
Sie müssen diesen Wert auf einen bequemeren Wert wie 5 oder 10 Sekunden ändern. | |||
<code> | <code>StandardTimeoutStopSec=5s</code> | ||
Wenn Sie nicht wissen, wie Sie die Konfigurationsdatei im Terminal bearbeiten können, verwenden Sie diesen Befehl, um die Datei zur Bearbeitung im Standardtexteditor Ihres Systems (wie Gedit) zu öffnen: | |||
<code>sudo xdg-open /etc/systemd/system.conf</code> | <code>sudo xdg-open /etc/systemd/system.conf</code> | ||
Vergessen Sie nicht, '''das # vor DefaultTimeoutStopSec''' zu entfernen. Speichern Sie die Datei und starten Sie Ihr System neu. | |||
Dies sollte Ihnen helfen, die Verzögerung beim Herunterfahren Ihres Linux-Systems zu verringern. |
Version vom 24. Juli 2023, 22:04 Uhr
Dauert das Herunterfahren zu lange? So können Sie lange Shutdown-Zeiten unter Linux untersuchen und beheben
Ihr Linux-System braucht zu lange zum Herunterfahren? Hier sind die Schritte, die Sie unternehmen können, um herauszufinden, was die Ursache für das verzögerte Herunterfahren ist, und das Problem zu beheben.
Ich hoffe, Sie sind ein wenig mit dem Konzept von sigterm und sigkill vertraut.
Wenn Sie Ihr Linux-System herunterfahren, sendet es den sigterm und bittet die laufenden Prozesse höflich, anzuhalten. Einige Prozesse benehmen sich falsch und ignorieren den Sigterm und laufen weiter.
Dies kann zu einer Verzögerung des Herunterfahrens führen, da Ihr System eine bestimmte Zeit lang auf das Anhalten der laufenden Prozesse wartet. Nach Ablauf dieser Zeitspanne sendet es das Kill-Signal, um alle noch laufenden Prozesse zu stoppen und das System herunterzufahren. Ich empfehle die Lektüre von sigterm vs. sigkill, um den Unterschied zu verstehen.
In manchen Fällen sehen Sie auf dem schwarzen Bildschirm eine Meldung wie "a stop job is running".
Wenn Ihr System zu lange zum Herunterfahren braucht, können Sie Folgendes tun:
- Prüfen Sie, welcher Prozess/Dienst zu lange braucht und ob Sie ihn entfernen oder neu konfigurieren können, damit er sich richtig verhält.
- Ändern Sie die Standardwartezeit, bevor Ihr System die laufenden Prozesse zwangsweise beendet. [Schnelle und schmutzige Lösung]
Ich verwende hier Ubuntu, das systemd verwendet. Die Befehle und Schritte hier sind für jede Linux-Distribution gültig, die systemd verwendet (die meisten tun das).
Überprüfen Sie, welche Prozesse das lange Herunterfahren von Linux verursachen
Wenn Sie herausfinden wollen, was los ist, sollten Sie überprüfen, was beim letzten Herunterfahren passiert ist. Verwenden Sie diesen Befehl, um die Macht des "Ich weiß, was Sie in der letzten Sitzung getan haben" zu erhalten (Wortspiel beabsichtigt):
journalctl -rb -1
Mit dem Befehl journalctl können Sie die Systemprotokolle lesen. Mit der Option '-b -1' filtern Sie die Protokolle für die letzte Boot-Session. Mit der Option '-r' werden die Protokolle in umgekehrter chronologischer Reihenfolge angezeigt.
Mit anderen Worten: Der Befehl 'journalctl -rb -1' zeigt die Systemprotokolle kurz vor dem letzten Herunterfahren Ihres Linux-Systems an. Das ist genau das, was Sie brauchen, um das Problem des langen Herunterfahrens in Linux zu analysieren.
Finden Sie etwas Verdächtiges in den Protokollen? Gibt es einen Prozess/Dienst, der sich weigert, anzuhalten? Wenn ja, untersuchen Sie, ob Sie ihn ohne Nebenwirkungen entfernen oder neu konfigurieren können. Bitte entfernen Sie hier nicht einfach blindlings Dinge. Sie sollten Kenntnisse über den Prozess haben.
Beschleunigen Sie das Herunterfahren unter Linux, indem Sie den Standard-Timeout für das Herunterfahren reduzieren [Quick fix]
Die Standardwartezeit für das Herunterfahren ist normalerweise auf 90 Sekunden eingestellt. Ihr System versucht, die Dienste nach dieser Zeitspanne zwangsweise zu beenden.
Wenn Sie möchten, dass Ihr Linux-System schnell herunterfährt, können Sie diese Wartezeit ändern.
Sie finden alle systemd-Einstellungen in der Konfigurationsdatei unter /etc/systemd/system.conf. Diese Datei sollte mit vielen Zeilen gefüllt sein, die mit # beginnen. Sie stellen die Standardwerte der Einträge in der Datei dar.
Bevor Sie irgendetwas tun, ist es eine gute Idee, eine Kopie der Originaldatei zu erstellen.
sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig
Suchen Sie hier nach DefaultTimeoutStopSec. Er sollte wahrscheinlich auf 90 Sekunden gesetzt werden.
#DefaultTimeoutStopSec=90s
Sie müssen diesen Wert auf einen bequemeren Wert wie 5 oder 10 Sekunden ändern.
StandardTimeoutStopSec=5s
Wenn Sie nicht wissen, wie Sie die Konfigurationsdatei im Terminal bearbeiten können, verwenden Sie diesen Befehl, um die Datei zur Bearbeitung im Standardtexteditor Ihres Systems (wie Gedit) zu öffnen:
sudo xdg-open /etc/systemd/system.conf
Vergessen Sie nicht, das # vor DefaultTimeoutStopSec zu entfernen. Speichern Sie die Datei und starten Sie Ihr System neu.
Dies sollte Ihnen helfen, die Verzögerung beim Herunterfahren Ihres Linux-Systems zu verringern.