I wonder if it might be better to have a KARAF_OPTS environment variable
just like there is a CATALINA_OPTS one for the below memory settings for
Tomcat. That would have the benefit of allowing the user to specify
default memory values for Karaf specifically without needing to set them
at the JVM level (affecting everything else) in order for karaf.bat to
pick them up--same benefit Tomcat users have with CATALINA_OPTS.
Definition of CATALINA_OPTS (in catalina.bat):
rem CATALINA_OPTS (Optional) Java runtime options used when the "start",
rem "run" or "debug" command is executed.
rem Include here and not in JAVA_OPTS all options,
that should
rem only be used by Tomcat itself, not by the stop
process,
rem the version command etc.
rem Examples are heap size, GC logging, JMX ports etc.
How it's implemented:
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS%
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%"
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%"
-Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
Regards,
Glen
On 8/17/2011 1:30 PM, [email protected] wrote:
Author: pieber
Date: Wed Aug 17 17:30:01 2011
New Revision: 1158844
URL: http://svn.apache.org/viewvc?rev=1158844&view=rev
Log:
[KARAF-818] Allow JAVA_MAX_MEM, JAVA_PERM_MEM, JAVA_MIN_MEM, JAVA_MAX_PERM_MEM
for karaf.bat
(cherry picked from commit 0eba443be8758cf0b025dd34b09ecbf1f11ae354)
Signed-off-by: Andreas Pieber<[email protected]>
Modified:
karaf/trunk/assemblies/apache-karaf/src/main/distribution/windows-text/bin/karaf.bat
Modified:
karaf/trunk/assemblies/apache-karaf/src/main/distribution/windows-text/bin/karaf.bat
URL:
http://svn.apache.org/viewvc/karaf/trunk/assemblies/apache-karaf/src/main/distribution/windows-text/bin/karaf.bat?rev=1158844&r1=1158843&r2=1158844&view=diff
==============================================================================
---
karaf/trunk/assemblies/apache-karaf/src/main/distribution/windows-text/bin/karaf.bat
(original)
+++
karaf/trunk/assemblies/apache-karaf/src/main/distribution/windows-text/bin/karaf.bat
Wed Aug 17 17:30:01 2011
@@ -33,6 +33,24 @@ if not "%KARAF_TITLE%" == "" (
title Karaf
)
+rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+
+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
+)
+
goto BEGIN
:warn
@@ -73,7 +91,7 @@ if "%KARAF_DATA%" == "" (
)
set LOCAL_CLASSPATH=%CLASSPATH%
-set DEFAULT_JAVA_OPTS=-server -Xmx512M
-Dderby.system.home="%KARAF_DATA%\derby"
-Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote
+set DEFAULT_JAVA_OPTS=-server -Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM%
-XX:PermSize=%JAVA_PERM_MEM% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%
-Dderby.system.home="%KARAF_DATA%\derby"
-Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote
set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
set DEFAULT_JAVA_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
--
Glen Mazza
Software Engineer, Talend (http://www.talend.com)
blog: http://www.jroller.com/gmazza