Glassfish bricht zusammen HTTP 503

OnDemand

Top Contributor
Hallo zusammen,

mein Programm führt etliche DB Updates gleichzeitig aus und lädt in anderen Threads Bilder herunter.

Heute ist er dabei zusammengebrochen, im Log steht nichts. Da stehen nur meine Logeinträge drin die ich brauche aber keine Exception die ihn zum Absturz hätte bringen können.

Wo könnte ich anfangen zu suchen um das Nadelöhr zu finden? Hat jemand paar Tipps?

Edit: Habe 200 Threads im Pool, sollte man das erhöhen? Jedes der 20.000 Bilder wird in einem Thread heruntergeladen, vielleicht ist dies schon das Problem aber wie kann ich das Problem verifizieren?

Edit Edit:
Auch dann bricht es zusammen
 
Zuletzt bearbeitet:

Bitfehler

Bekanntes Mitglied
Reden wir über Threads, die du aus Java heraus startest oder über Glassfish-Threads?

Was liefert ulimit -a (Linux-Kommando) zurück?
 

OnDemand

Top Contributor
Danke für deine AW! Die Threads werden vom GF gestartet mit Annotation asynchronous. Glaube aber nicht dass es daran liegt.. Die letzten dutgänge verliefen jetzt Problemlos.vielleicht liegt es am Server weil GF kurz 90 prozent CPU futtert?!

Ulimit -a gibt aus :
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 127376
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 127376
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
 

Bitfehler

Bekanntes Mitglied
Kannst du den Absturz durch reproduzierbares Verhalten herbeiführen?
Wenn ja, erhöhe mal das gesetzte Limit für open file und versuche es erneut.
 

OnDemand

Top Contributor
Öhh ne hab jetzt alle Funktionen aufgerufen sie es gibt aber es läuft.... hmm vielleicht andere server Prozesse...Wie kann ich das denn erhöhen unter Debian?
 

Bitfehler

Bekanntes Mitglied
ulimit -n 8196, gültig für eine Session. Ansonsten über einen Kernel-Parameter oder so ähnlich. Musst du googlen.

Ansonsten musst du mal gucken, was in den Logfiles des OS steht (syslog, messages,..)
 

OnDemand

Top Contributor
Also mein GF bricht nach wie vor zusammen. Er geht kurzzeitig über 300% CPU läuft dann aber weiter runter bis auf 2% und läuft und läuft, bis er plötzlich abkackt ohne jeglichen Logeintrag. Anbei mal htop, falls das was bringt. Hab jetzt mal GF aktualisiert, mal sehen was jetzt passiert :/
 

OnDemand

Top Contributor
Nichts passiert, bricht immer noch ab. Scheinbar legt mein Server komplett Java lahm denn Jira und Co gehen dann auch ni mehr :(
 

Bitfehler

Bekanntes Mitglied
An deinem Bild fällt mir folgendes auf:
  1. Warum läuft dein Java im Root-Kontext?
  2. Dein Server hat ca. 65GB RAM. Deine Java-Prozesse können im schlechtesten Fall über 100 GB RAM anfordern. Die anderen Prozesse habe ich dabei gar nicht berücksichtigt.
 

OnDemand

Top Contributor
Das kann ich dir nicht sagen warum root, wurde mir so eingerichtet. Aber bin froh das Java läuft und nicht openjdk. Warum können die Prozesse mehr als verfügbar anfordern? Wäre nett wenn du mir helfen könntest:(
 

Bitfehler

Bekanntes Mitglied
Du verwendest Java 1.8.x.

Die langen Java-Zeilen zeigen an, wie viel Glassfish-Instanzen(?) gestartet wurden. Es gibt davon über 15.
Jede dieser 15 Instanzen hat für den Parameter xmx 8GB gesetzt gekommen. Dieser Parameter gibt an, wie viel Speicher maximal angefordert werden. Sind nun alle Instanzen stark ausgelastet, kann mehr als dein verfügbarer Speicher angefordert werden (15*8 > 65). Da es die maximale Grenze darstellt, tritt dieser Fall nicht zwingend ein.

Des Weiteren wird die PermSize ebenfalls gesetzt. Diesen Parameter kannst in Java 8 aus deinem Startbefehl entfernen, da er eh ignoriert wird.

Deine Java-Prozesse laufen als root, da du deinen Glassfish als root startest. Ich persönlich finde das nicht besonders gelungen bei Applikationsservern, aber das ist eine andere Sache und trägt auch nicht zum Problem bei.

Ich bin mir gerade nicht sicher, ob das Instanzen, Prozesse, Threads, Worker oder noch was anderes. Ich meine aber immer eine Zeile.
 

OnDemand

Top Contributor
Ja stimmt, habe da im Bild als root gestartet, habe aber einen User dafür.

PermSize stimmt, wird ja eh ignoriert, werde den xmx mal runternehmen. Aber mittlerweile startet er nicht mal mehr. Waiting for domain to start.... und die punkte laufen und laufen :-/

Werd den gleich nochmal komplett neu aufsetzen. Nervt einfach nur tierisch...Gibt es irgend eine Empfehlung welche JVM Settings zu nehmen sind?
 

OnDemand

Top Contributor
So mit pagaya läuft es jetzt erstmal wieder...Habe aber noch kein Jura o.ä. gestartet. Frisst das denn so viel? Sollte ich jira confluence und Co auf einen anderen Server ziehen oder meiner app einen eigenen geben? Hab kein Gefühl dafür wie viel ein Server verkraften kann...Ich meine das ist schon ne starke Kiste, das muss der doch packen
 

OnDemand

Top Contributor
Jetzt hab ich den Übeltäter gefunden... habe den ganzen TZag den Server beobachtet...Folgendes Szenario:
Meine App liest jede Stunde besagte Dateien ein, erstellt Objekte etc. Dabei wird der RAM immer voller und voller und irgendwann läuft er über umd bums, aus die Maus. Jetzt die Frage: Warum werden die Objekte nicht vom Garbage Collector gelöscht? Kann man die Objekte irgendwie alls löschbar markieren?

In meiner domain.xml sind 2 JVM Settings, hindern diese den GC vilelleicht am aufräumen?

Code:
  <jvm-options>-XX:+DisableExplicitGC</jvm-options>
        <jvm-options>-Dfelix.fileinstall.bundles.new.start=true</jvm-options>
        <jvm-options>-XX:NewRatio=2</jvm-options>
        <jvm-options>-XX:+AggressiveHeap -XX:+UseParallelGC -Xmx512m -Xms512m -Xss512m -XX:-UseLoopPredicate -XX:+UseCompressedOops</jvm-options>

Edit: anbei noch ein Screenshot. in Spalte VIRT steht, max. 33,9G sobald diese in Spalte RES erreicht werden, kackt es zusammen. Ein Neustart von Glassfish/Payara leert den RAM und alles lkäuft wie geschmiert. Könnte den GF stündlich neu starten, aber dass ist ja nicht sinn der Sache, muss auch anders gehen, richtig?
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    37,1 KB · Aufrufe: 29
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Glassfish 5 in Eclipse 2018-12 | in den JSF Capabilities wird nur JSF 2.2 angeboten Server einrichten und konfigurieren 8
J Glassfish 4.1 lässt sich nicht aus Eclipse starten Server einrichten und konfigurieren 1
J Kein Zugriff auf die Anwendung nach Deployment Glassfish Server einrichten und konfigurieren 15
M Glassfish und Apache2 Server einrichten und konfigurieren 5
OnDemand Glassfish Path unter OSX Server einrichten und konfigurieren 3
R Probleme mit Glassfish und StartSSL Zertifikat Server einrichten und konfigurieren 0
OnDemand Virtual Server in Glassfish findet Recource nicht Server einrichten und konfigurieren 1
D Glassfish - ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY Server einrichten und konfigurieren 0
OnDemand Welcher Appserver? Glassfish, Jboss? Server einrichten und konfigurieren 8
OnDemand Glassfish Probleme mit Eclipse Server einrichten und konfigurieren 0
OnDemand Glassfish: Resource erstellen und abrufen Server einrichten und konfigurieren 0
OnDemand Glassfish Clean / Clear Cache Server einrichten und konfigurieren 0
OnDemand Glassfish: Properties wie auf Server Server einrichten und konfigurieren 1
FINF_AW_Alex WebLogic, Glassfish, Tomcat.... Server einrichten und konfigurieren 3
M Glassfish 4: java.net.MalformedURLException: Bad URL path Server einrichten und konfigurieren 7
D Domain lässt sich nicht starten Glassfish 4.1 Server einrichten und konfigurieren 1
J GlassFish-Domain nicht startbar unter AVG Internet Security 2014 Server einrichten und konfigurieren 7
FINF_AW_Alex GlassFish 4.1 - WAR Datei wird nicht angenommen/deployed Server einrichten und konfigurieren 2
C Glassfish 2.1 / SJSAS 9.1 Log - Meldungen werden nicht angezeigt Server einrichten und konfigurieren 1
A glassfish JavaMail-Session bearbeiten Server einrichten und konfigurieren 1
M Gibt es Glassfish Hoster die kostenlos sind? Server einrichten und konfigurieren 3
C GlassFish ist extrem langsam. Server einrichten und konfigurieren 10
C GlassFish fehler beim Deployen und kein Logging. Server einrichten und konfigurieren 2
S glassfish Server einrichten und konfigurieren 4
L glassfish Anwendung Permalinks über Subdomain Server einrichten und konfigurieren 6
T GlassFish anstatt Apache Tomcat Server einrichten und konfigurieren 29
M Glassfish server rendert keine Tags Server einrichten und konfigurieren 4
R Multi-Server Architektur im AS (JBOSS/Glassfish) realisieren Server einrichten und konfigurieren 2
H Glassfish auf Tomcat ? Server einrichten und konfigurieren 2
T Glassfish weigert sich zu deployn? o.0 Server einrichten und konfigurieren 2
P Ortung von Usern und Umleitung an Server in GlassFish? Server einrichten und konfigurieren 7
W Glassfish JDBC Verbindungspools ändern ohne neustart Server einrichten und konfigurieren 5
K Glassfish 3.1.1. lässt sich nicht starten (Nullpointer Exception) Server einrichten und konfigurieren 3
T JBOSS und Glassfish auf einem physischen Rechner Server einrichten und konfigurieren 5
S Zeitzone im Glassfish einstellen Server einrichten und konfigurieren 3
S [GlassFish] Deployen (ggf. mit Netbeans verbinden) Server einrichten und konfigurieren 9
S GlassFish installieren Server einrichten und konfigurieren 5
S Mailversand und GlassFish Server einrichten und konfigurieren 4
M [Glassfish] Zugriff auf DB möglich? Server einrichten und konfigurieren 9
M [Glassfish] Warnung: Multiple [2] JMX MBeanServer instances exist Server einrichten und konfigurieren 3
C [Glassfish] Entfernten Glassfish Server in Eclipse verbinden Server einrichten und konfigurieren 3
K Glassfish 3.1.1 mit mod_jk und Apache 2.2 Server einrichten und konfigurieren 1
T Glassfish - HttpOnly Cookie Server einrichten und konfigurieren 2
A Glassfish AdminConsole Probleme Server einrichten und konfigurieren 6
dzim GlassFish 2.1.1 - Authentifizierung von BASIC auf WS-Security umstellen Server einrichten und konfigurieren 3
Chris81T Glassfish -> JDBCRealm Bezug User <> Gruppe Server einrichten und konfigurieren 1
B Glassfish und Eclipse Server einrichten und konfigurieren 5
D [Glassfish] fremde JMS Middleware registrieren Server einrichten und konfigurieren 3
H Glassfish Servlets Server einrichten und konfigurieren 6
cowabunga1984 Glassfish und JMX Server einrichten und konfigurieren 3
G Eure Meinung zu Glassfish V2 Server einrichten und konfigurieren 2
B Glassfish und Tomcat brauchen ewig zum Starten. Server einrichten und konfigurieren 7
K Tomcat - Dienst bricht bei Aufruf einer JSP-Datei ab Server einrichten und konfigurieren 8

Ähnliche Java Themen

Neue Themen


Oben