Einstellung Java-Heap-Größe unter Apache Karaf
Entschuldige ich mich, falls dieser ein Duplikat ist, aber ich kann nicht scheinen zu finden, diese irgendwo beantwortet.
Was ist der beste Weg zu erhöhen Sie die maximale Java-heap-Größe bei der Verwendung von Apache Karaf?
Derzeit, modifizierte ich die folgende Zeile in der karaf.bat-Datei:
set DEFAULT_JAVA_OPTS=-server -Xmx<NewMaxValue>M
.
Ich fühle mich wie das ändern der bat-Datei ist nicht die beste Lösung. Darüber hinaus keine der config-Dateien zu haben scheinen, ein Ort um diese zu setzen.
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Zumindest) in karaf 2.2.10:
Wenn ausgeführt karaf durch
bin/start
Als Ford Guo wies darauf hin, memory-Werte konfiguriert werden kann, in der
bin/setenv
Datei:Wenn ausgeführt karaf as a service (
karaf-service
)In diesem Fall jede exportierte variable scheint, um ignoriert zu werden.
Die maximale java-heap-Größe definiert werden kann, in der
etc/karaf-wrapper.conf
:Update auf Karaf 2.2.3 zeigt eine neue bat-Datei.
Heißt das, man kann einfach erstellen Sie eine system-variable statt einer änderung der bat-Datei.
Dass das, was ich tun würde in Ihrer situation.
Ich habe Leute gesehen, die vorschlagen, mit einem service starten, die können Sie definieren, das die Kommandozeilen-Argumente.
Gefiel mir mit der webconsole, also habe ich es geändert, damit es gelesen karaf.vmoptions-Datei für die Anwendungen starten. Dies erfordert, Veränderungen am code, aber es stellte sich heraus, um sehr nützlich sein.
in das bin-Verzeichnis ,es ist ein setenv(.bat-Datei),
Sie können legen Sie die max/min mem drin.
setenv
war nicht geladen bei mir (über die karaf-wrapper), so habe ich es in den wrapper config: (/opt/apache-servicemix-6.1.3/etc/karaf-wrapper.conf
in meinem Fall)Überprüfen Sie vor dem Neustart: