これが重複していることをお詫びしますが、これがどこにも答えられていないようです。
Apache Karafを使用するときに最大Javaヒープサイズを増やすための最良の方法は何ですか?
現在、karaf.batファイルの次の行を変更しました。
set DEFAULT_JAVA_OPTS=-server -Xmx<NewMaxValue>M
。
batファイルを変更するのは最善の解決策ではないように感じます。さらに、どの設定ファイルにもこれを置く場所がないようです。
ありがとう
これが重複していることをお詫びしますが、これがどこにも答えられていないようです。
Apache Karafを使用するときに最大Javaヒープサイズを増やすための最良の方法は何ですか?
現在、karaf.batファイルの次の行を変更しました。
set DEFAULT_JAVA_OPTS=-server -Xmx<NewMaxValue>M
。
batファイルを変更するのは最善の解決策ではないように感じます。さらに、どの設定ファイルにもこれを置く場所がないようです。
ありがとう
(少なくとも) karaf 2.2.10:
bin/start
Ford Guo が指摘したように、メモリ値はbin/setenv
ファイルで構成できます。
export JAVA_MIN_MEM=256M # Minimum memory for the JVM
export JAVA_MAX_MEM=1024M # Maximum memory for the JVM
export JAVA_PERM_MEM=128M # Minimum perm memory for the JVM
export JAVA_MAX_PERM_MEM=256M # Maximum memory for the JVM
karaf-service
)この場合、エクスポートされた変数は無視されるようです。
最大 Java ヒープ サイズは、次のファイルで定義できますetc/karaf-wrapper.conf
。
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1024
Karaf 2.2.3 に更新すると、新しいバット ファイルが明らかになります。
if "%JAVA_MIN_MEM%" == "" (
set JAVA_MIN_MEM=128M
)
if "%JAVA_MAX_MEM%" == "" (
set JAVA_MAX_MEM=512M
)
if "%JAVA_PERM_MEM%" == "" (
set JAVA_PERM_MEM=16M
)
if "%JAVA_MAX_PERM_MEM%" == "" (
set JAVA_MAX_PERM_MEM=64M
)
これは、bat ファイルを変更する代わりに、システム変数を作成するだけでよいことを意味します。
bin ディレクトリには setenv(.bat) ファイルがあり、そこに max/min mem を設定できます。
それがあなたの状況で私がすることです。
コマンドライン引数を定義できるサービス開始を使用することを提案する人を見てきました。
私は Web コンソールを使用するのが好きだったので、起動するアプリケーションの karaf.vmoptions ファイルを読み取るように変更しました。これにはコードにパッチを当てる必要がありますが、非常に便利であることが判明しました。