Ich versuche, Tomcat auf einem System mit wenig Speicher (150-256 MB) auszuführen. Obwohl ich die JVM mit -Xmx64m starte (was sowieso die Standardeinstellung sein sollte), nimmt der Prozess sofort mehr als 200 MB in Anspruch.
Ich frage mich, warum die JVM selbst so viel Speicher benötigt oder ob es eine Möglichkeit gibt, dies zu optimieren. Sind andere JVMs für einen geringen Speicherverbrauch besser als die Sun-JVMs - und funktionieren sie mit Tomcat?
Mit der Option -Xmx beschränken Sie die Größe des Heaps , den die JVM reserviert ... Es gibt zusätzliche Ressourcen, die die JVM benötigt ...
"Danke für den Speicher" * ist ein guter Artikel, der erklärt, wie eine JVM Speicher verwendet ...
Abgesehen davon könnten Sie IBMs JVM ausprobieren, es sollte mit Tomcat funktionieren. Sie wissen nicht, ob einige der kostenlosen JVM-Implementierungen funktionieren.
Trotzdem glaube ich nicht, dass eine Maschine mit so wenig Speicher etwas Gutes bringt. Java braucht nur Speicher.
* Da neue Benutzer keine Hyperlinks einreichen können, müssen Sie diesen Artikel selbst nachschlagen. Dies ist der erste Treffer bei Google für "Danke für den Speicher-IBM".
quelle
Probieren Sie auch die JRockit-JVM aus, die weniger Speicherplatz benötigt. Sie können weiterhin BEA-lizenzierte JRockit-Versionen kostenlos herunterladen. dh Versionen, bevor Oracle BEA übernahm.
Download-Links finden Sie unter http://forums.oracle.com/forums/thread.jspa?threadID=816133&tstart=0 .
quelle
Eine nützliche Technik, die ich gefunden habe, ist die Verwendung der JMX-Überwachung, um genau zu sehen, wie viel Speicher vom Heap- und Permgen-Speicherplatz verwendet wird.
Richten Sie JMX in Tomcat wie hier beschrieben ein: http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
Verwenden Sie dann JConsole (wird mit JDK 5 oder JDK 6 geliefert) - das Speicher-Tag verfolgt den Speicherverbrauch im Laufe der Zeit.
Achten Sie auch auf sanfte Neustarts von Webapps. Wenn Sie eine Webanwendung neu laden, wird der Permgen-Speicherplatz nicht durch Müll gesammelt und im Laufe der Zeit aufgebaut. Sie müssen Tomcat vollständig stoppen / starten, um den Permgen-Speicherplatz zurückzugewinnen.
quelle