Tomcat total memory

Status
Nicht offen für weitere Antworten.

carina

Mitglied
Hallo,
ich habe ein Speicherproblem mit Tomcat:
Je länger er ohne restart läuft, umso langsamer wird er. Das liegt (denke ich) daran, dass der "Total Memory" ständig wächst, bis schließlich der "Max Memory" erreicht ist.
Ist das normal ?
Zuerst dachte ich, dass ich ein Memory Leak habe, aber sogar wenn ich den Server ein paar Tage auf Anschlag laufen lasse, bekomme ich kein OutOfMemory.
Der "Free memory" wandert ständig zw. 15 und 300MB hin und her.
Ich weiss jetzt nicht, wie ich das deuten soll. Hat meine Applikation genügend Speicher oder nicht ? Was genau bedeutet Total Memory und warum geht er nicht mehr runter ?

Hat da jemand Erfahrung ?

Danke Carina
 

JanHH

Top Contributor
Naja, vielleicht ist Deine Anwendung einfach irgendwie ungünstig programmiert, was die Speicher-ausnutzung angeht?
 

carina

Mitglied
das heisst, du meinst das Problem liegt in meinem Code, oder ? Warum bekomme ich dann keine OutOfMemory Exception ?
 

Noctarius

Top Contributor
Der "Free memory" wandert ständig zw. 15 und 300MB hin und her.
Ich weiss jetzt nicht, wie ich das deuten soll. Hat meine Applikation genügend Speicher oder nicht ? Was genau bedeutet Total Memory und warum geht er nicht mehr runter ?

Java fängt mit einem Speicherwert -Xms an, ist dieser erreicht wird 1. eine GarbageCollection angeschmissen und zweitens mehr Speicher angewiesen, bis der Wert in -Xmx erreicht ist.

Da die VM aber Speicher nicht wieder deallociert wächst der Verbrauch der VM nur, sinkt aber nicht wirklich wieder.

Heißt bei -Xms=15M und -Xmx=200M:
VM Start -> 15MB
Programm kommt ans Limit von 15MB -> GarbageCollection + 15MB+X (X nehm ich hier mal als 5MB an)
After GarbageCollection -> 7MB (weil nicht mehr freigeschaufelt werden konnte) - Neues Limit 20MB
Programm kommt ans Limit von 20MB -> GarbageCollection + 20MB+X
usw usw usw...
Programm kommt ans Limit von 200MB -> GarbageCollection + 200MB - höher geht's nicht wegen Xmx=200M

Sollte an dieser Stelle noch mal Speicher frei werden beim GC arbeitet die VM weiter, werden keine Objekte mehr entladen gibt es eine OutOfMemoryException, weil kein freier Speicher mehr zur Verfügung steht.
 

carina

Mitglied
ah, wenn ich dich richtig verstehe heiss das :
Es ist alles ok, liegt kein Programmierfehler vor, aber etwas mehr Speicher würde nicht schaden.
Oder ?
 

Noctarius

Top Contributor
Nope ist Java Standardverhalten, dass immer nur Speicher hinzu geholt wird bis max erreicht ist aber nur VM intern (also nicht zum Betriebssystem hin) freigegeben wird.

Java geht davon aus, dass wenn dein Programm einmal soviel Speicher gebraucht hat (und es eben kein Programmierfehler war) der Zustand noch mal eintritt :)

Deswegen kann man auch, wenn ein Programm definitiv ne Menge Speicher braucht, -Xms auch ruhig auf einen passenden Startwert setzen, da übermäßige GC-Durchläufe beim Starten eines Programmes eine Menge Zeit kosten können.

Wir starten in der Firma unseren Tomcat z.B. direkt mit -Xms512M
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ruutaiokwu Servlet Tomcat Versionsproblem? Web Tier 4
I JSF JSF, Tomcat, Server Faces und maven Web Tier 3
feinperligekohlensaeure JSF JSF + Tomcat 9 | HTTP Status 404 |(com.sun.faces.config.ConfigureListener?) Web Tier 1
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
puba mit JDev entwickelter WS auf Tomcat deployen Web Tier 2
R JSF Tomcat 7 & JSF - UnsupportedOperationException Web Tier 1
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S Tomcat 8.0.9 logging Web Tier 0
S Servlet Tomcat 8.0.9 logging Web Tier 13
D JSP Anfängerfrage - Ändern von JSP / Tomcat Web Tier 4
R Tomcat 7 und SSL Web Tier 3
J JSP Web Applikation auf virtuellem Tomcat Server Web Tier 1
T JSF in Eclipse mit Tomcat Web Tier 0
S JSF Tomcat in Eclipse einbinden (JSF) Web Tier 0
G Magnolia CMS - jedes mal Tomcat restart Web Tier 7
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
M tomcat anwendungsabhängige konfigdateien Web Tier 6
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
C Tomcat wirft keine ViewExpiredException Web Tier 8
C Tomcat + Eclipselink = NotSerializable Exception? Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
A Servlet File Upload funktioniert nur lokal auf Entwicklungsrechner, nicht in Tomcat Web Tier 5
T Tomcat mit Servlets Problem Web Tier 7
B JSF JSF1.1 @Tomcat 5.5 für ein neues Projekt Web Tier 18
P JSF Umgebungsvariablen bei Tomcat-Start setzen Web Tier 4
D Tomcat/Struts2 Benutzer bestimmt Name der URL Web Tier 2
T Tomcat: Packete dynamisch auslesen und Klassen erzeugen Web Tier 3
S Servlet Problem mit Tomcat Web Tier 3
M Classpath für JPA in Tomcat Webapp: Wie konfigurieren? Web Tier 4
reibi Tomcat : Änderbare Config-Files Web Tier 5
reibi Servlet Tomcat : Display name und version setzen Web Tier 3
JCODA Tomcat ohne Fenster starten Web Tier 5
P Eclipse zeigt Errors an, die auf Tomcat nicht auftreten Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
L Services in Tomcat einbinden? Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
N JSP org.apache.tomcat cannot be resolved to a type InstanceManager cannot be resolved to a type Web Tier 4
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
M Geschwindigkeit von Tomcat / JavaWebanwendungen Web Tier 3
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
F No Factories configured for this Application - Myfaces mit Tomcat Web Tier 1
T jsf Tobago in Tomcat classpath aufnehmen Web Tier 2
A Beispiel wirft Fehler. JSF 2.0 / Tomcat / Eclipse Web Tier 2
J Tomcat-Server mit JSF auf Eclipse einrichten Web Tier 7
F umzug von tomcat 4 auf tomcat 6 Web Tier 2
J tomcat webapp restarten Web Tier 2
ruutaiokwu tomcat autodeploy Web Tier 7
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
T Tomcat-Projektverzeichnis Web Tier 13
E JSF Applikation läuft nicht über Tomcat Web Tier 3
F JApplet in Tomcat-Umgebung funktioniert mal wieder nicht ... Web Tier 8
T Tomcat, JSP, UTF-8 und URL-Codierung Web Tier 4
A Hat Tomcat einen Cache? Web Tier 5
S Tomcat Heap Memory erhoehen..? Web Tier 4
I Rich Faces nur mit JBoss oder auch Tomcat? Web Tier 7
S Tomcat / Eclipse Probleme Web Tier 2
T Tomcat Projekt ohne Eclipse starten Web Tier 11
A Tomcat - JSP läuft nicht Web Tier 2
reibi access.log in Tomcat ... ist das möglich? Web Tier 2
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat - JSP ausführen Web Tier 8
M Tomcat - Mehrere Verzeichnisse für die jsp Web Tier 12
thE_29 Tomcat - Applications(Context) bekommen Web Tier 19
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
T Hibernate, Debuggingparameter Tomcat Web Tier 3
A JDBC in Tomcat einbinden Web Tier 3
P Tomcat funktioniert nicht so wie er sollte Web Tier 11
C Apache-Tomcat Web Tier 13
F ssl, tomcat und jsp anwendungen Web Tier 5
G Tomcat 4.1 Experimente 8) Web Tier 3
S Tomcat JSP context.xml - Standartpfad einstellen Web Tier 3
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
jann Tomcat und Kompression Web Tier 9
Q tomcat konfiguration - rewrite Web Tier 3
A TomCat will nicht - Wieso? Web Tier 5
Q Auth. per Tomcat Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2
G Probleme mit Tomcat Web Tier 14
G Tomcat findet angeblich die Datei nicht. Web Tier 8
J Tomcat - web.xml und package . Web Tier 4
L JSP Tomcat Login Web Tier 6
G SCHWERWIEGEND: NullPointerException bei Tomcat Web Tier 4
U Java Application auf Tomcat Web Tier 5
Y JSF - Exception bei Tomcat Start Web Tier 4
O Source-Code vom Tomcat kompilieren lassen Web Tier 6
H Singleton für In-Memory-Caching in WebApp Web Tier 4
J Memory Leak in Servlet nach längere Laufzeit Web Tier 6

Ähnliche Java Themen

Neue Themen


Oben