Konnte nicht genügend heap-Speicher für Java

Haben wir eine Anwendung, die ausgeführt wurde fein für ein Jahr. Es ist eine web-Anwendung, die unter Tomcat 5.5 + JDK 1.5 unter Microsoft Cluster auf Windows Server 2003 Enterprise Edition-Service Pack 2. Der server hat 11 GB RAM (ich weiß, es ist nutzlos!) mit der folgenden Beschreibung "Physical Address Extension": ich weiß nicht, was das bedeutet.

Den Tomcat-Dienst konfiguriert ist, mit den folgenden Parametern: -Xmx1024m -Xms128m

Seit der letzten Woche, der service will nicht mehr starten und bricht mit der folgenden Fehlermeldung: "Konnte nicht genügend heap-Speicher".

Wir haben versucht, mehrere tests:

  • java -Xmx1024m -version => Konnte
  • java -Xmx758m -version => Konnte
  • java -Xmx512m -version => Bestanden

So können wir mit weniger Speicher für die maximale heap-Größe, aber es ist nicht eine akzeptable Lösung, da die Anzahl der Benutzer steigt in wenigen Monaten, und wir brauchen, um die maximale heap-Größe zu 1024Mb.

Auch ich verstehe nicht, warum es geklappt hat und dann plötzlich es aufgehört zu arbeiten! Es scheint, dass das OS jetzt nicht reservieren zusammenhängender Speicher Speicher, oder etwas anderes (Seite, Datei-Größe, Speicher-Allokation, ...)

Ist es ziemlich schwierig zu wissen, ob sich etwas geändert hat (OS-patch, Konfiguration, ...), da die web-Anwendung läuft auf dem Kunden-server und wir haben keinen Zugriff darauf.

-Xmx1024m -Xmx128m wirklich? Meinst du -Xmx1024m -Xms128m (Hinweis: die -Xms)?
Physikalische Adress-Erweiterung: en.wikipedia.org/wiki/Physical_Address_Extension - Es bedeutet 32-bit-Prozessoren mehr als 4 GB ram.
Auch ich habe vergessen zu sagen, dass wir fanden eine JRE 1.6 installiert "C:\Program Dateien\Java\jre1.6.0_07". Das JDK (1.5 ie) ist nicht im system Weg, aber die oben genannten tests verwendet das JDK und nicht das JRE. Auch Tomcat konfiguriert ist, verwenden Sie die JDK.
Ouups sorru: ja, es ist -Xmx1024m -Xms128m
Versuchen Sie andere JVM - Lastest 1.6, 1.5 neuesten, aktuellsten 1.7. Kann es etwas falsch mit JVM

InformationsquelleAutor Eric Taix | 2011-04-26

Schreibe einen Kommentar