Shutdown (Begriff): Unterschied zwischen den Versionen

Aus Foxwiki
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.'''''


= Shutdown Taking Too Long? Here's How to Investigate and Fix Long Shutdown Time in Linux =
Ich hoffe, Sie sind ein wenig mit dem Konzept von sigterm und sigkill vertraut.
'''''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.
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.


When you shut down your Linux system, it sends the sigterm and politely asks the running processes to stop. Some processes misbehave and they ignore the sigterm and keep on running.
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.


This could cause a delay to the shutdown process as your system will wait for the running processes to stop for a predefined time period. After this time period, it sends the kill signal to force stop all the remaining running processes and shuts down the system. I recommend reading about sigterm vs sigkill to understand the difference.
In manchen Fällen sehen Sie auf dem schwarzen Bildschirm eine Meldung wie "a stop job is running".


In fact, in some cases, you would see a message like ‘a stop job is running’ on the black screen.
Wenn Ihr System zu lange zum Herunterfahren braucht, können Sie Folgendes tun:


If your system is taking too long in shutting down, you can do the following:
* 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]


* Check which process/service is taking too long and if you can remove or reconfigure it to behave properly.
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).
* Change the default waiting period before your system force stops the running processes. [Quick and dirty fix]


I am using Ubuntu here which uses systemd. The commands and steps here are valid for any Linux distribution that uses systemd (most of them do).
== Ü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):
== Check which processes are causing long shutdown in Linux ==
If you want to figure out what’s wrong, you should check what happened at the last shutdown. Use this command to get the power of ‘I know what you did last session’ (pun intended):
  <code>journalctl -rb -1</code>
  <code>journalctl -rb -1</code>
The journalctl command allows you to read system logs. With options ‘-b -1’ you filter the logs for the last boot session. With option ‘-r’, the logs are shown in reverse chronological order.
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.


In other words, the ‘journalctl -rb -1’ command will show the system logs just before your Linux system was shutdown the last time. This is what you need to analyze the long shutdown problem in Linux.
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.


Do you find something suspicious in the logs? Is there a process/service refusing to stop? If yes, investigate if you could remove it without side effects or if you could reconfigure it. Don’t go blindly removing stuff here, please. You should have knowledge of the process.
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.


== Speed up shutdown in Linux by reducing default stop timeout [Quick fix] ==
== Beschleunigen Sie das Herunterfahren unter Linux, indem Sie den Standard-Timeout für das Herunterfahren reduzieren [Quick fix] ==
The default wait period for the shut down is usually set at 90 seconds. Your system tries to force stop the services after this time period.
Die Standardwartezeit für das Herunterfahren ist normalerweise auf 90 Sekunden eingestellt. Ihr System versucht, die Dienste nach dieser Zeitspanne zwangsweise zu beenden.


If you want your Linux system to shut down quickly, you can change this waiting period.
Wenn Sie möchten, dass Ihr Linux-System schnell herunterfährt, können Sie diese Wartezeit ändern.


You’ll find all the systemd settings in the config file located at /etc/systemd/system.conf. This file should be filled with lots of line starting with #. They represent the default values of the entries in the file.
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.


Before you do anything, it will be a good idea to make a copy of the original file.
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>
Look for DefaultTimeoutStopSec here. It should probably be set to 90 sec.
Suchen Sie hier nach DefaultTimeoutStopSec. Er sollte wahrscheinlich auf 90 Sekunden gesetzt werden.
  <code>#DefaultTimeoutStopSec=90s</code>
  <code>#DefaultTimeoutStopSec=90s</code>
You have to change this value to something more convenient like 5 or 10 seconds.
Sie müssen diesen Wert auf einen bequemeren Wert wie 5 oder 10 Sekunden ändern.
  <code>DefaultTimeoutStopSec=5s</code>
  <code>StandardTimeoutStopSec=5s</code>
If you don’t know how to edit the config file in terminal, use this command to open the file for editing in your system’s default text editor (like Gedit):
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>
Don’t forget to '''remove the # before DefaultTimeoutStopSec'''. Save the file and reboot your system.
Vergessen Sie nicht, '''das # vor DefaultTimeoutStopSec''' zu entfernen. Speichern Sie die Datei und starten Sie Ihr System neu.
 
This should help you reduce the shutdown delay for your Linux system.
 
'''Recommended Read:'''
 
'''Were you able to fix the lengthy shutdown?'''


I hope this tutorial helped you in investigating and fixing the long shutdown issue on your system. Do let me know in the comments if you managed to fix it.
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.