Bisher habe ich drei Situationen mit Tomcat begegnet: Verwenden Sie zuerst Eclipse, konfigurieren Sie Tomcat in Eclipse. Zweitens stellen Sie das Projekt direkt in Tomcat ein. Drittens installieren Sie Tomcat als Windows -Dienst.
In diesen drei Fällen erscheint OutofMemoryError. Hier muss ich erwähnen, dass ich von diesen verantwortungslosen Artikeln im Internet tragisch verletzt wurde. Ich habe alle möglichen Möglichkeiten versucht, den Speicher festzulegen, aber es hat einfach nicht funktioniert. Die nachstehend erwähnten Methoden werden alle von mir selbst getestet, und es gibt kein Problem.
Der erste Fall:
Wie im Bild gezeigt: Ich habe es mit einem roten Rahmen geschafft. Unter diesen sind XMS und XMX die Parameter der anfänglichen Haufengröße und der maximalen Haufengröße der virtuellen Java -Maschine, die hauptsächlich die Gründe, die durch unzureichenden Java -Haufenraum verursacht werden, zu lösen. XX: Permsize und XX: MaxpermSize sind Parameter, die die anfängliche dauerhafte Speicherfläche und die maximale dauerhafte Speicherfläche erhöhen. Platz für das Laden von Klassen, der sich auf den Bereich der dauerhaften Generation bezieht.
Der zweite Fall:
Stellen Sie das kompilierte Projekt direkt in Tomcat ein und verwenden Sie Startup.bat, um den Tomcat -Dienst zu starten. Wie folgt im Tomcas Mülleimerordner:
In diesem Fall müssen wir die Parameter in Catalina.bat ändern. Öffne es. Finden Sie diese beiden Sätze:
REM Rate Catalina_Home, wenn nicht definiert
Setzen Sie "current_dir =%CD%"
Fügen Sie diesen Satz diesen beiden Sätzen hinzu und stellen Sie sicher: "java_opts = -xms512m -xmx1024m -xx: permSize = 256 m -xx: maxpermsize = 512m" festlegen "
Es gibt viele ähnliche Dinge im Internet, aber viele von ihnen wurden nicht versucht.
Die dritte Situation:
Wenn Ihr Tomcat als Windows -Dienst registriert ist und im Dienst gestartet wird, ist die obige Methode ungültig, da Tomcat -Start die Parameter der Registrierung und nicht die Parameter der Batch -Datei lesen soll. Das. : Finden Sie tomcat7w.exe im Bin -Verzeichnis von Tomcat und offen:
Unter den Java -Optionen: Der anfängliche Speicherpool unten ist die Initialisierung der Heap -Speichergröße, und der Maximun -Speicherpool ist die maximale Heap -Speichergröße. Um die Größe des Perm -Gen -Pools festzulegen, müssen Sie der Java -Option Parameter hinzufügen und hinzufügen:
-Dcatalina.base =%tomcat_home%
-Dcatalina.home =%tomcat_home%
-Djava.endorsed.dirs =%tomcat_home%/usw.
-Djava.io.tmpdir =%tomcat_home%/temp
-Xx: permSize = 256 m
-Xx: maxpermSize = 256m
-Xx: ReservedCodecachesize = 48m
-Duser.TimeZone = GMT+08
(Ich habe keine Leerzeichen nach jeder Zeile) Ich habe diese Methode ausprobiert, sie funktioniert. Sie können auch Parameter direkt in der Registrierung hinzufügen. Ich werde das nicht vorstellen, ich habe es nicht selbst ausprobiert.
Tatsächlich ist es nicht schwierig, das Tomcat -Speicherproblem zu lösen. Wir haben uns schon lange zuvor um dieses Problem gekümmert. Wenn Sie Eclipse verwenden, wird in der Konsole eine Fehlermeldung gedruckt. Aber wir haben den Tomcat -Dienst in einem Windows -Dienst installiert, sodass wir keine Fehleranforderungen sehen konnten. Nachdem das Projekt begonnen hatte, war es immer in einem Wartezustand, was sehr langsam war und die Menschen verwirrt hatte. Kurz gesagt, unerfahren.
Im obigen Unternehmen geht es darum, in Java herauszulösen, und ich hoffe, dass es für das Lernen aller hilfreich sein wird.