2011-09-08 24 views
7

これが重複していると私はお詫びしますが、どこでもこの回答を見つけることはできません。Apache KarafでJavaヒープサイズを設定する

Apache Karafを使用する際に最大のJavaヒープサイズを増やすにはどうすればよいですか?

set DEFAULT_JAVA_OPTS=-server -Xmx<NewMaxValue>M

現在、私はkaraf.batファイルに次の行を変更しました。

私は最高の解決策ではないバットファイルを変更するように感じる。さらに、設定ファイルのどれもこれを置く場所がないようです。

ありがとうございました

答えて

7

Karaf 2.2.3にアップデートすると、新しいbatファイルが表示されます。

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ファイルを変更するのではなく、単にシステム変数を作成できることを意味します。

0

私はあなたの状況で何をしますか。

私は人々がコマンドライン引数を定義することを可能にするサービス開始を使用することを提案しているのを見ました。

webconsoleを使いたかったので、起動したアプリケーションのkaraf.vmoptionsファイルを読み込むように変更しました。これにはコードの修正が必要ですが、非常に便利です。

0

binディレクトリには、setenv(.bat)ファイル があります。そこに最大/最小のmemを設定できます。

5

(少なくとも)karaf 2.2.10で:

フォード郭が指摘したようにbin/start

を通してkarafを実行し、メモリ値は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をサービスとして実行している場合(karaf-service

この場合、エクスポートされた変数はすべてig nored。

最大Javaヒープサイズがetc/karaf-wrapper.confで定義することができます(karafラッパーを使用して)私のためにロード

# Maximum Java Heap Size (in MB) 
wrapper.java.maxmemory=1024 
0

setenv波平、私はラッパーの設定にそれを置く:(私の場合は/opt/apache-servicemix-6.1.3/etc/karaf-wrapper.conf

# JVM Parameters    
# note that n is the parameter number starting from 1. 
wrapper.java.additional.1=-Dkaraf.home=%KARAF_HOME% 
wrapper.java.additional.2=-Dkaraf.base=%KARAF_BASE% 
wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA% 
wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC% 
wrapper.java.additional.5=-Dcom.sun.management.jmxremote 
wrapper.java.additional.6=-Dkaraf.startLocalConsole=false 
wrapper.java.additional.7=-Dkaraf.startRemoteShell=true 
wrapper.java.additional.8=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed 
wrapper.java.additional.9=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext 

# added by me 
wrapper.java.additional.10=-XX:PermSize=512m 
wrapper.java.additional.11=-XX:MaxPermSize=512m 

再起動前にチェック:

# get process id of you running instance 
jps -lvm 
# or 
ps aux | grep java 

# check memory before and after restarting the service to see wether it changed 
jmap -heap $MY_PID 2>/dev/null | sed -ne '/Heap Configuration/,$p'; 
関連する問題