Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Tomcat-Fehleranalyse unter Linux

Tomcat-Fehleranalyse unter Linux

巴扎黑
巴扎黑Original
2017-07-21 16:48:421693Durchsuche

Problemphänomen:

Tomcat (8.5.13) hat SuperMap iServer bereitgestellt und die Anzahl der gleichzeitigen Benutzer beträgt etwa 100. Nachdem das System eine Weile in Betrieb war, stürzt der Dienst ab. Ausnahme-Eingabeaufforderung

Problemanalyse:

1 Nachdem ich die Eingabeaufforderungsinformationen im Protokoll gesehen hatte, dachte ich, die Ursache sei unzureichender Systemspeicher. Daher wurde dem Server ein Überwachungsskript hinzugefügt (wie unten gezeigt), um den Systemspeicher und den Tomcat-Speicher jede Sekunde aufzuzeichnen.

Nach einer gewissen Zeit der Überwachung trat die Ausnahme erneut auf. Im Protokoll wurde keine Speicherausnahme gefunden

2. Nachdem der Speicher ausgeschlossen wurde, stellt sich die Frage, ob die Anzahl der Prozesse aufgrund zu vieler gleichzeitiger Benutzer überschritten wird?

1) Überprüfen Sie die Ressourcenlimitparameter des aktuellen Linux-Benutzers ulimit -a

2) Unter den oben genannten Parametern ist derjenige, dem mehr Aufmerksamkeit geschenkt wird ist ein Prozess Die maximale Anzahl von Dateien, die geöffnet werden können, dh geöffnete Dateien. Die maximale Anzahl von Prozessen, die vom System erstellt werden dürfen, ist der Parameter „maximale Benutzerprozesse“. Wir können ulimit -u 4096 verwenden, um den Wert der maximalen Benutzerprozesse zu ändern, dies wird jedoch nur in der Sitzung des aktuellen Terminals wirksam. Nach der erneuten Anmeldung wird weiterhin der Systemstandardwert verwendet.

Der richtige Weg, es zu ändern, besteht darin, den Wert in der Datei /etc/security/limits.d/90-nproc.conf zu ändern. Schauen wir uns zunächst an, was diese Datei enthält:

$ cat /etc/security/limits.d/90-nproc.conf 
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc    4096

Wir müssen nur den Wert 4096 in der obigen Datei ändern.

Eine Untersuchung ergab, dass dies tatsächlich daran lag, dass die vom aktuellen Benutzer des Servers festgelegte maximale Anzahl von Prozessen zu gering war, was dazu führte, dass der Server keine Prozesse erstellen konnte und abstürzte.

Referenz:


linux Aktuellen Prozess anzeigen:


Das obige ist der detaillierte Inhalt vonTomcat-Fehleranalyse unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn