Das Herunterfahren Ihres Linux-Systems dauert zu lange? Hier sind die Schritte, die Sie unternehmen können, um herauszufinden, was das verzögerte Herunterfahren verursacht, und das Problem zu beheben.
Ich hoffe du kennst dich ein bisschen aus sigterm und sigkill Konzept.
Wenn Sie Ihr Linux-System herunterfahren, sendet es das Sigterm und fordert die laufenden Prozesse höflich auf, anzuhalten. Einige Prozesse verhalten sich falsch, ignorieren das Sigterm und laufen weiter.
Dies kann zu einer Verzögerung des Herunterfahrens führen, da Ihr System für einen vordefinierten Zeitraum darauf wartet, dass die laufenden Prozesse angehalten werden. Nach diesem Zeitraum sendet es das Kill-Signal, um das Stoppen aller verbleibenden laufenden Prozesse zu erzwingen und das System herunterzufahren. Ich empfehle Lesen Sie über Sigterm vs. Sigkill, um den Unterschied zu verstehen.
In einigen Fällen sehen Sie auf dem schwarzen Bildschirm sogar eine Meldung wie “ein Stoppjob wird ausgeführt”.
Wenn das Herunterfahren Ihres Systems zu lange dauert, können Sie Folgendes tun:
- Prüfen Sie, welcher Prozess/Dienst zu lange dauert 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 anhält. [Quick and dirty fix]
Ich verwende hier Ubuntu, das verwendet System. Die Befehle und Schritte hier gelten für jede Linux-Distribution, die systemd verwendet (die meisten tun dies).
Überprüfen Sie, welche Prozesse unter Linux zu langem Herunterfahren führen
Wenn Sie herausfinden möchten, was falsch ist, sollten Sie überprüfen, was beim letzten Herunterfahren passiert ist. Verwenden Sie diesen Befehl, um die Macht von “Ich weiß, was Sie letzte Sitzung getan haben” zu erhalten (Wortspiel beabsichtigt):
journalctl -rb -1
Der Journalctl-Befehl ermöglicht Ihnen das Lesen von Systemprotokollen. Mit den Optionen ‘-b -1’ filtern Sie die Protokolle für die letzte Boot-Sitzung. Mit der Option ‘-r’ werden die Protokolle in umgekehrter chronologischer Reihenfolge angezeigt.
Mit anderen Worten, der Befehl ‘journalctl -rb -1’ zeigt die Systemprotokolle kurz bevor Ihr Linux-System das letzte Mal heruntergefahren wurde. Dies ist, was Sie brauchen, um das Problem des langen Herunterfahrens unter Linux zu analysieren.
Keine Journalprotokolle? Das sollten Sie tun
Wenn keine Journalprotokolle vorhanden sind, stellen Sie bitte sicher, dass Ihre Distribution systemd verwendet.
Selbst bei einigen Linux-Distributionen mit systemd sind die Journalprotokolle standardmäßig nicht aktiviert.
Stellen Sie sicher, dass /var/log/journal existiert. Wenn dies nicht der Fall ist, erstellen Sie es:
sudo mkdir /var/log/journal
Sie sollten auch den Inhalt der Datei /etc/systemd/journald.conf überprüfen und sicherstellen, dass der Wert von Storage entweder auf auto oder persistent gesetzt ist.
Finden Sie etwas Verdächtiges in den Protokollen? Gibt es einen Prozess/Dienst, der sich weigert, anzuhalten? Wenn ja, prüfen Sie, ob Sie es ohne Nebenwirkungen entfernen oder neu konfigurieren können. Bitte entferne hier nicht blindlings Sachen. Sie sollten Kenntnisse über den Prozess haben.
Beschleunigen Sie das Herunterfahren unter Linux, indem Sie das Standard-Stopp-Timeout reduzieren [Quick fix]
Die Standardwartezeit für das Herunterfahren ist normalerweise auf 90 Sekunden eingestellt. Ihr System versucht, das Beenden der Dienste nach diesem Zeitraum zu erzwingen.
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 werden, die mit # beginnen. Sie stellen die Standardwerte der Einträge in der Datei dar.
Bevor Sie etwas unternehmen, sollten Sie eine Kopie der Originaldatei erstellen.
sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig
Suchen Sie hier nach DefaultTimeoutStopSec. Es sollte wahrscheinlich auf 90 Sek. eingestellt werden.
#DefaultTimeoutStopSec=90s
Sie müssen diesen Wert auf einen bequemeren Wert wie 5 oder 10 Sekunden ändern.
DefaultTimeoutStopSec=5s
Wenn Sie nicht wissen, wie Sie die Konfigurationsdatei im Terminal bearbeiten, verwenden Sie diesen Befehl, um die Datei zur Bearbeitung im Standard-Texteditor Ihres Systems (wie Gedit) zu öffnen:
sudo xdg-open /etc/systemd/system.conf
Einstellungen für die Abschaltzeit ändern Ubuntu
Vergiss nicht Entfernen Sie das # vor DefaultTimeoutStopSec. Save die Datei und starten Sie Ihr System neu.
Dies sollte Ihnen helfen, die Verzögerung beim Herunterfahren Ihres Linux-Systems zu reduzieren.
Watchdog-Problem!
Linux hat ein Modul namens Watchdog, das verwendet wird, um zu überwachen, ob bestimmte Dienste ausgeführt werden oder nicht. Es könnte so konfiguriert werden, dass Systeme automatisch neu gestartet werden, wenn sie aufgrund eines Softwarefehlers hängen bleiben.
Es ist ungewöhnlich, Watchdog auf Desktop-Systemen zu verwenden, da Sie das System manuell herunterfahren oder neu starten können. Es wird häufig auf Remote-Servern verwendet.
Watchdog läuft zuerst:
ps -af | grep watch*
Wenn Watchdog auf Ihrem System läuft, können Sie den ShutdownWatchdogSec-Wert in der systemd-Konfigurationsdatei /etc/systemd/system.conf von 10 Minuten auf einen niedrigeren Wert ändern.
.ugb-50dafde-wrapper.ugb-container__wrapper{border-radius:0px !important;padding-top:0 !important;padding-bottom:0 !important;background-color:#f1f1f1 !important}.ugb-50dafde-wrapper > .ugb-container__side{padding-top:35px !important;padding-bottom:35px !important}.ugb-50dafde-wrapper.ugb-container__wrapper:before{background-color:#f1f1f1 !important}.ugb-50dafde-content -wrapper > h1,.ugb-50dafde-content-wrapper > h2,.ugb-50dafde-content-wrapper > h3,.ugb-50dafde-content-wrapper > h4,.ugb-50dafde-content-wrapper > h5,. ugb-50dafde-content-wrapper > h6{color:#222222}.ugb-50dafde-content-wrapper > p,.ugb-50dafde-content-wrapper > ol li,.ugb-50dafde-content-wrapper > ul li{ Farbe:#222222}
Empfohlene Lektüre:
.ugb-6ab8d55 .ugb-blog-posts__featured-image {border-radius: 0px! Important} .ugb-6ab8d55 .ugb-blog-posts__title a {color: # 000000! Important} .ugb-6ab8d55 .ugb-blog-posts__title a: schweben {Farbe: # 00b6ba! wichtig}
Finden Sie heraus, wie lange es dauert, Ihr Linux-System zu booten
Wie lange braucht Ihr Linux-System zum Booten? So finden Sie es mit dem Befehl systemd-analyze heraus.
Konnten Sie den langwierigen Shutdown beheben?
Ich hoffe, dieses Tutorial hat Ihnen bei der Untersuchung und Behebung des Problems des langen Herunterfahrens Ihres Systems geholfen. Lass es mich in den Kommentaren wissen, wenn du es geschafft hast, es zu beheben.