`
lp895876294
  • 浏览: 284832 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Tomcat启动内存设置

 
阅读更多

在JAVA项目运行过程中可能会报内存溢出错误,导致内存溢出的原因可能是代码问题,也可能是项目比较大,占用JVM内存比较大,而Tomcat运行内存又比较小导致。以下说明通过startup.bat和windows 服务两种方式下tomcat启动内存的配置方式。

1.startup.bat启动
在tomcat_home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行:
set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
解释一下各个参数:
-Xms1024M:初始化堆内存大小(注意,不加M的话单位是KB)
-Xmx1029M:最大堆内存大小
-XX:PermSize=256M:初始化类加载内存池大小,非堆内存的值
-XX:MaxPermSize=256M:最大类加载内存池大小,非对内存的最大值。
-XX:MaxNewSize=256M:设置JAVA堆区域新生代内存的最大可分配大小。一般堆区会分为3个区域,新生代、中生代和老年代。我们在程序中通过new关键字新建出来的对象,一般都会分配在新生代中。当新生代满了后,JVM会通过GC来进行一次小规模的垃圾回收,此时新生代中存活的对象会被移动至中生代。
你所说的这个参数就是设置新生代的最大值,从上可知,这个大小也间接决定了JVM进行monior gc的频率。如果你不设置,JVM启动时会给它一个默认值。
还有一个-server参数,是指启动jvm时以服务器方式启动,比客户端启动慢,但性能较好,大家可以自己选择。
2.windows服务启动
       如果你的tomcat是注册为windows服务并且是以服务方式启动的,那么上面的方法就无效了,因为这时tomcat启动是读取注册表的参数,而不是读取批处理文件的参数,这时我们有两种方法来设置jvm参数。
第一种比较简单,tomcat为我们提供了一个设置启动参数的窗体,双击tomcat_home/bin目录下的tomcat6w.exe,如下图:

 下方的Initial memory pool就是初始化堆内存大小,Maximun memory pool是最大堆内存大小。
而要设置Perm Gen池的大小就要在Java Option里面加参数了,在里面加上:
-Dcatalina.base=%tomcat_home%
-Dcatalina.home=%tomcat_home%
-Djava.endorsed.dirs=%tomcat_home%\endorsed
-Djava.io.tmpdir=%tomcat_home%\temp
-XX:PermSize=256M
-XX:MaxPermSize=256M
-XX:ReservedCodeCacheSize=48M
-Duser.timezone=GMT+08
(PS:网上说每一行后面不要有空格,没试过)
第二种方法是打开注册表->HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java(路径可能有一点点差别)

修改Options的值,把刚才上面那些参数加进去就OK了。(别忘了先备份一下注册表)
 

  • 大小: 42.4 KB
  • 大小: 81.8 KB
分享到:
评论

相关推荐

    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