mein Wildfly frisst den gesamten verfügbaren RAM auf uns landet dann in Service Unavailable, der Prozess an sich läuft wohl noch, muss aber trotzdem neu starten.
Habe xmx auf 1024 es wird aber 4GB RAM gefressen.
Wie kann ich das Problem lösen? Wie finde ich Memoryleaks?
Gibts da irgendwo ne Anleitung wie man was in den Tools sieht? Hab kein Nerv mich da so spontan einzuarbeiten. Man findet immer keine Info zu Bedienung solcher Tools
Ist Casesensitive, nur für den Fall, dass da tatsächlich xmx steht. -Xmx
-XshowSettings gibt dann auch noch an was nun als heap verwendet wird und startet dann das Programm. Heap ist afair nicht alles, da kommt noch PermGen dazu.
Ansonsten gilt, werden aktuelle Versionen von Java und App-Server verwendet. Hilft es wenn die aktuellen Versionen verwendet werden? Oracle oder OpenJDK?
Es finden sich Anleitungen auch auf Youtube zu den genannten Tools um mal einen ersten Eindruck zu bekommen.
Wenn ich java -XShowSettings auf Konsole aufrufe, kommt
VM settings:
Max. Heap Size (Estimated): 29.97G
Using VM: Java HotSpot™ 64-Bit Server VM
Kann es sein, dass durch den folgenden Eintrag in der standalone.conf die Settings vom OS genommen werden und nicht die welche in der standalone konfiguriert sind??
if [ “x$JAVA_OPTS” = “x” ]; then
JAVA_OPTS="-Xms64m -Xmx2g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1g -Djava.net.preferIPv4Stack=true"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
else
echo “JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS”
fi
edit:
Hab grad mal die Werte für die JVM gesetzt
export _JAVA_OPTIONS="-Xms512m -Xmx1024m"
aber nix da, frisst trotzdem alles was geht
wo muss ich das denn hinzufügen? hab es in die Standalone geschrieben aber in der server.log wird das nicht ausgegeben. Die Strtparameter geb ich doch in der standalone.con an oder?
Ich weiss auch nicht wirklich wie und was du nutzt, wie du was startest, aber wenn du es nicht schaffst dir ausgeben zu lassen was letztlich genutzt wird, dann wird es auch schwierig irgendwas zu setzen, dass dann auch angenommen wird.
Ansonsten nimmt die JVM auf deinem System gerne auch 30G, wenn das zur Verfügung steht.
das hab ich ja in der standalone.conf der wildfly installlation, aber es wird ignoriert.
Nun hab ich das eingerahmte auskommentiert und deine zeile unten eingefügt und siehe da, beim startup werden die werte ausgegeben, aber in dem if Konstrukt klappte es nicht. Nun mal sehen ob es jetzt auch mehr als 2GB nimmt. Bisher ist der Memory stabil bei 14,1 % vorher ging er bis auf 45% und dann kackte es ab. Ich hoffe es klappt jetzt wie es soll. Mir ist zwar immer noch ein Rätsel, warum das in dem if then nicht geht, aber naja. Wer weiß was das da prüft, dass kann ich nicht lesen
Mehr RAM Zuweisung = mehr gleichzeitige Threads und schnelleres Abarbeiten der Threads? Kann man das so sagen?