`

tomcat 启动内存设置

阅读更多

其初始空间(即-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

 

==================================================================

**************************************************************************

================================================================== 

 

开tomcatHome\bin\tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:
Initial memory pool和Maximum memory pool.
Initial memory pool这个就是初始化设置的内存的大小。
Maximum memory pool这个是最大内存的大小
将其中的Initial memory pool设置为64MB

设置完了就按确定,然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了

 

 

==================================================================

**************************************************************************

================================================================== 

 

在tomcat的bin目录下,找到catalina.bat文件,打开,在最上面添加这样一句:
set JAVA_OPTS=-Xms256m -Xmx512m.

OK, JVM内存已经被改到Total Memory: 256 MB,Max Memory: 512 MB.

在Eclipse中改tomcat JVM 内存, 运行Eclipse中配置的Tomcat.
在server配置, tomcat5.x->jdk, 在Java VM arguments 里添加:
-Xms256m -Xmx512m  -XX:MaxPermSize=64m 达到一样的效果.

不过如果不这样改,而运行Eclipse中配置的tomcat,之前在catalina.bat中修改的内存是不起效果,不知道什么原因.

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

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

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"));

 

 

==================================================================

**************************************************************************

================================================================== 

 

Tomcat默认可以使用的内存很小,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的使用内存即可解决此问题。

 

Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,

 

在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m

 

 

Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,

 

在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’

 

其中,-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存。

  

Tomcat6有些版本已经没有catalina.bat文件了。

这个时候我们需要运行%TOMCAT_HOME%\bin\tomcat6w.exe文件,

修改其中的Initial memory pool和Maximum memory pool的值,分别为256、512。


不过在eclipse环境启动Tomcat的时候好像不受上面设置参数的影响,内存还是很小的,这就要在eclipse中重新设置

如:http://nxzhaoning.blog.sohu.com/95873512.html

  • 大小: 32.6 KB
分享到:
评论
1 楼 cf2huihui 2013-07-04  
谢谢,帮助很大

相关推荐

    tomcat启动内存设置[参考].pdf

    ### Tomcat启动内存设置详解 #### 一、Tomcat与JVM内存管理基础 Tomcat作为一款广泛使用的Java应用服务器,其性能优化至关重要。而内存管理则是Tomcat性能调优的关键之一。合理设置Tomcat的启动内存对于提高系统的...

    设置tomcat启动内存大小

    本文将围绕“设置Tomcat启动内存大小”这一主题,深入探讨如何通过修改配置文件来调整Tomcat服务器的内存使用,以满足不同应用场景的需求。 ### Tomcat内存参数详解 在描述中提到的`catalina.sh`脚本中的`JAVA_...

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    设置Tomcat的初始启动内存

    Tomcat初始启动内存设置 在Java应用程序中,初始内存和最大内存的设置对程序的性能有着重要的影响。特别是在Tomcat服务器中,初始内存的设置可以影响服务器的性能和稳定性。然而,在Tomcat中设置初始内存并不是一件...

    Tomcat JVM内存设置方法

    ### Tomcat JVM内存设置方法详解 #### 一、前言 Tomcat作为一款广泛使用的Java应用服务器,其性能优化一直是开发者关注的重点之一。而在性能优化的过程中,合理设置JVM(Java Virtual Machine)内存是非常关键的一...

    修改tomcat内存大小.txt

    如果你希望在每次启动Tomcat时自动应用这些内存设置,可以编辑Tomcat安装目录下的`bin/catalina.sh`文件,在其中添加或修改相应的参数。例如,可以在文件的顶部加入以下内容: ```bash JAVA_OPTS='-Xms512m -Xmx...

    Tomcat内存设置详解

    ### Tomcat内存设置详解 #### 引言 在构建高性能且稳定的Web应用时,合理配置Tomcat内存参数是至关重要的一步。Tomcat作为一款广泛使用的开源应用服务器,其性能受到诸多因素的影响,其中内存配置尤为关键。正确的...

    Tomcat-启动参数设置

    ### Tomcat 启动参数设置详解 #### 一、背景介绍 在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的...

    Tomcat设置服务启动参数

    #### 二、Tomcat启动参数概述 在Tomcat中,可以通过修改`bin`目录下的脚本文件来设置启动参数。对于Windows环境,主要通过编辑`tomcat7w.exe`或`catalina.bat`来实现;而在Linux环境下,则是通过编辑`catalina.sh`...

    eclipse tomcat启动,内存溢出问题

    2. **默认的JVM堆内存设置不足**:默认情况下,JVM分配给应用程序的堆内存可能相对较小,不足以满足特定应用场景的需求。 3. **配置不当**:在配置文件中,如果没有正确地设置JVM参数来调整内存大小,也会导致内存...

    tomcat启动管理工具

    【标题】:Tomcat启动管理工具 在Java Web开发领域,Tomcat是一个广泛使用的开源应用服务器,主要用于部署和运行Servlet和JSP应用。Tomcat以其轻量级、易配置和高性能的特点深受开发者喜爱。"Tomcat启动管理工具"指...

    Tomcat 7 Windows中以Service方式启动配置启动参数

    #### 三、配置Tomcat启动参数的重要性 在Windows环境中以Service方式启动Tomcat时,默认的JVM参数设置往往较低,这可能导致在运行大型应用程序时遇到内存不足的问题,例如常见的`java.lang.OutOfMemoryError: Perm...

    tomcat启动不了问题处理

    ### tomcat启动不了问题处理 在IT领域,Tomcat服务器是一款非常流行的开源Web服务器,它主要用来部署Java Web应用程序。然而,在使用过程中,用户可能会遇到Tomcat无法启动的问题。本文将详细探讨导致Tomcat启动...

    监控tomcat内存使用情况

    要启用这个功能,我们需要在Tomcat的配置文件`conf/tomcat-users.xml`中设置相应的角色和用户。在上述给出的XML片段中,我们看到了四个预定义的角色:`tomcat`、`role1`、`manager`和`admin`,以及与之关联的用户。...

    eclipse和tomcat的内存配置

    为了确保其运行流畅且高效,我们需要适当调整其内存设置。 **1. 初始状态** 首先查看未启动Eclipse前的内存状况,这有助于了解当前系统可用资源的情况。例如,在案例中显示,开机状态下内存占用为特定数值。 **2. ...

    Tomcat_启动参数设置

    Tomcat默认可以使用的内存很小,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整...

    myeclipse-tomcat jdk内存溢出

    2. **年轻代内存溢出**:年轻代内存主要用于存放新创建的对象,如果年轻代内存设置过小,会导致频繁的垃圾回收,甚至出现内存溢出。 - **Xmn64m**:表示年轻代内存大小为64MB。 3. **永久代内存溢出**:永久代用...

    Eclipse + Tomcat 内存溢出参数设置

    ### Eclipse + Tomcat 内存溢出参数设置详解 在Java开发过程中,特别是在使用Eclipse作为集成开发环境(IDE)并结合Apache Tomcat服务器进行Web应用开发时,经常会遇到内存溢出的问题。这类问题通常表现为应用程序...

Global site tag (gtag.js) - Google Analytics