其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置
三、实例,以下给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:
NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m
-XX:NewSize=192m -XX:MaxNewSize=384m"


Linux:
在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh
添加:JAVA_OPTS='-Xms512m -Xmx1024m'
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值


Windows
在catalina.bat最前面加入
set JAVA_OPTS=-Xms128m -Xmx350m
如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..
windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.
解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值为
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效

tomcat作为windows服务的参数配置,特别是PermSize的设置

当tomcat用startup.bat启动的时候的参数设置网上说的比较多,这里就不再描述。

当tomcat作为windows 的系统服务的时候,网上找了很多相关的文章,都没有比较全面的参数设置方法,一般就说明了一下xms和xmx的设置,都没有提供其他方面参数的说明,不够 实用。经过对apache下的procrun的研究和多次试用,总算清楚了一般参数的设置方法。其实 tomcat5.exe本身已经包含有procrun的功能,这就是很多人在网上找不到procrun.exe文件下载的原因。
procrun可以参考:http://commons.apache.org/daemon/procrun.html
注:这里用tomcat5作为例子,应该同样适用于tomcat6.

这里不使用注册表,我们用tomcat提供的gui工具来设置。
1、在命令行下执行:tomcat5w.exe //ES//TomcatService
其中,TomcatService就是你加入windows服务的名称。这样,在windows的任务栏就会出现一个tomcat的服务管理器,图标如下
2、打开tomcat服务管理器的java页,如

在Java Options里面输入需要设置的参数,如设置permsize的内存
-XX:PermSize=64M
-XX:MaxPermSize=192m
-XX:ReservedCodeCacheSize=48m
-Duser.timezone=GMT+08
注:每一行后面都不能有空格。
同样,我们也可以在注册表中进行修改,HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\TestService\Parameters\Java


内存改好后,可以登陆tomcat-->status查看 JVM.

在程序中如果想查看内存,可以使用下面这几句:

Java代码 System.out.println( "TotalMemory :::: " + (Runtime.getRuntime().totalMemory()/( 1024 * 1024 ) + "M" ));

System.out.println( "Max Memory :::: " + (Runtime.getRuntime().maxMemory()/( 1024 * 1024 ) + "M" ));

System.out.println( "Free Memory :::: " + (Runtime.getRuntime().freeMemory()/( 1024 * 1024 ) + "M" ));

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置 三、实例,以下给出1G内存环境下java jvm 的参数设置参考: JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:M 在 tomcat _home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行: set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M 解释一下各个 参数 : -Xms1024M:初始化堆.. 变量 参数 :-Xmx700M -XX:MaxPermSize=300M 2.在使用startup.bat 启动 a>编辑startup.bat加入:set JAVA_OPTS=-Xmx700M -XX:MaxPermSize=300M 如下图所示 3.以service方式 启动
【原帖地址】http://blog.csdn.net/u013980127/article/details/53913994 【重新 设置 的原因】最近在阿里云的服务器老是  outOfMemory导致宕机。。。 【1----生产机器8G 内存 Tomcat 7   catalina.sh(只运行一个 Tomcat ) # 8G 内存 JAVA_OPTS=" -Dfile.encoding=U
2. 在catalina.sh文件中找到以下代码: # ----- Execute The Requested Command ----------------------------------------- # $1 = ( as passed ) the command to execute # $2 = ( as passed ) the command arguments # $3 = ( derived ) the Catalina home directory # $4 = ( derived ) the Catalina base directory # $5 = ( derived ) the Java command to use to start the JVM # $6 = ( derived ) the Java options to use when starting the JVM # $7 = ( derived ) the Java classpath # $8 = ( derived ) the Java library path # $9 = ( derived ) the Java endorsed directory path # $10 = ( derived ) the Java extended directory path # Execute the command exec "$_RUNJAVA" "$@" 这是执行 Tomcat 命令的代码段。 3. 在这段代码的上面添加以下代码: # ----- Set Tomcat Home and Base Directories ----------------------------------- CATALINA_HOME=/usr/local/ tomcat CATALINA_BASE=/usr/local/ tomcat export CATALINA_HOME CATALINA_BASE 这是 设置 Tomcat 的Home和Base目录的代码段。 4. 保存catalina.sh文件。 5. 打开/etc/rc.local文件,添加以下代码: su - tomcat -c "/usr/local/ tomcat /bin/startup.sh" 这是在系统 启动 时自动 启动 Tomcat 的代码段。 6. 保存/etc/rc.local文件。 7. 重启系统, Tomcat 将自动 启动 。 以上就是在Linux上 设置 Tomcat 开机 启动 的步骤。 ### 回答2: Linux是一款开源的操作系统, Tomcat 是一个非常流行的基于Java语言的Web应用程序服务器。在Linux上 设置 Tomcat 开机 启动 可以帮助我们更加方便地管理服务器,使得 Tomcat 在服务器 启动 时自动 启动 ,而不需要手动 启动 。本文将介绍在Linux上 设置 Tomcat 的开机 启动 。 第一步: 设置 Tomcat 启动 脚本 要在Linux上 设置 Tomcat 开机 启动 ,我们需要编写一个 启动 脚本来自动 启动 Tomcat 。在 Tomcat 的bin目录下,有一个叫做catalina.sh的 启动 脚本,我们可以根据需要适当地修改它,使其适合我们的环境。比如,在catalina.sh中添加一些 启动 参数 ,以便我们更好地管理 Tomcat 。 第二步:将 Tomcat 启动 脚本添加到 启动 项 要使 Tomcat 启动 时自动 启动 ,我们需要将 Tomcat 启动 脚本添加到 启动 项中。我们可以使用chkconfig命令来添加 启动 项。首先,我们需要检查 Tomcat 启动 脚本是否可以被chkconfig命令识别。运行以下命令: chkconfig --add $CATALINA_HOME/bin/catalina.sh 其中$CATALINA_HOME是 Tomcat 的安装路径。此命令将 Tomcat 启动 脚本添加到 启动 项中,并分配默认的运行级别。 第三步: 设置 启动 级别 运行级别是操作系统的不同状态,它规定了哪些服务和程序在系统 启动 时自动 启动 。Linux上有七个运行级别,分别为0-6。我们需要选择 Tomcat 需要运行的运行级别,并将 Tomcat 启动 脚本添加到该运行级别中。我们可以使用以下命令为 Tomcat 设置 运行级别: chkconfig --level 345 tomcat on 这里,我们将 Tomcat 设置 为在运行级别3、4和5下自动 启动 。通过指定运行级别来修改 Tomcat 启动 项,可以确保 Tomcat 在系统 启动 时自动 启动 ,而且只在我们需要的运行级别中 启动 。 要在Linux上 设置 Tomcat 开机 启动 ,我们需要编写一个 启动 脚本并将其添加到 启动 项中。使用chkconfig命令可以很方便地完成这一任务,并确保 Tomcat 在系统 启动 时自动运行。通过逐一执行以上三个步骤,我们可以轻松地 设置 Tomcat 的开机 启动 。 ### 回答3: 在 Linux 系统中,我们可以通过 设置 Tomcat 的开机 启动 来方便地管理和维护应用程序。下面我们来介绍一下具体的操作步骤。 第一步:打开终端,并输入以下命令进行安装和配置: sudo apt-get update sudo apt-get install tomcat 8 sudo update-rc.d tomcat 8 defaults 其中,第一个命令是更新软件包列表;第二个命令是安装 Tomcat 8;第三个命令是 设置 Tomcat 8 开机自 启动 。 第二步:打开 Apache Tomcat 服务器配置文件。 sudo nano /etc/default/ tomcat 8 第三步:编辑配置文件,找到以下代码: # Run Tomcat as this user ID. Not setting this or leaving it blank will use the # default of tomcat 8. TOMCAT 8_USER= tomcat 8 将其修改为: # Run Tomcat as this user ID. Not setting this or leaving it blank will use the # default of tomcat 8. TOMCAT 8_USER=root 这便是 设置 Tomcat 8 为开机自 启动 的关键步骤。 第四步:编辑 Tomcat 8 的 启动 脚本。 sudo nano /etc/init.d/ tomcat 8 找到以下代码: # Provides: ${name} # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $named # Should-Stop: $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Tomcat . # Description: Start the Tomcat servlet engine. 将其中的 “Default-Start” 和 “Default-Stop” 修改为 “Default-Start: 2 3 4 5” 和 “Default-Stop: 0 1 6” 即可。 第五步:保存并退出编辑。 第六步:重新 启动 服务器。 sudo /etc/init.d/ tomcat 8 restart 现在, Tomcat 8 将会自动 启动 ,无需手动 启动 了! 设置 Tomcat 的开机 启动 ,可以方便我们在服务器重启之后,自动将 Tomcat 启动 ,省去手动 启动 的麻烦。上述操作步骤,较为简单并且易于理解,希望对读者有所帮助!