增加eclipse启动的Tomcat内存的方法


Tomcat一般默认情况下最大最优内存设置为2G

这种情况下,修改Tomcat\bin\catalina.bat,添加如下内容

set JAVA_OPTS=-Xms256m -Xmx512m -Djava.awt.headless=true [-XX:MaxPermSize=128M]

这种设置方法并不起作用!!!



要采用下面的方法:

A.windows->preference->java->instal jres->edit,增加参数:-Xms256m -Xmx512m

或者

B.windows->preferences..->tomcat->jvm..->jvm文本框里,添加-Xms256m -Xmx512m



如果使用myeclipse,

窗口->首选项->MyEcliipse->Application Servers->Tomcat->Tomcat5.x->JDK->Optional Java VM arguments中填写一下内容。

-Xms128m -Xmx256m

-Dcom.sun.management.jmxremote=true

=***************************************************************

-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256M

=***************************************************************


tomcat内存增加

(2007-06-05 12:50:27)

   
 就在今天,我把数据库的数据读出来,放在LIST里,晕.具然出现TOMCAT内存益处,在网上查查看,看了一个方法,还可以,现在告诉大家,
   Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,轻微时,会使系统性能急剧下降,严重时,将导致系统无法运行,影响系统的稳定性。当内存不够用时,常见的问题就是报tomcat内存益处错误,从儿导致客户端包500错误的,如下:解决方法主要是加大TOMCAT可利用内存,并在程序当中加大内存使用。因此根据应用的需求,有必要调整JVM使用内存的大小。现在将手工修改tomcat内存的方法及注意事项列出,希望能对新人有所帮助。

tomcat提供了两种安装模式,即免安装(*.zip)和安装(*.exe)方式。针对不同的安装方式下修改tomcat内存大小的方法几注意问题(windows环境):

 方式1:当选择安装方式时,可以在安装tomcat的过程进行设置tomcat初始化内存的大小。但是假如说在安装时没有选择,或者应用改变了,需要增加tomcat内存时怎么半呢?此时,我们就要手工修改tomcat的一些文件了:

 看了很多网上的资料,都是说修改<CATALINA_HOME>\bin\catalina.bat文件的内容,即在里面增加一行代码:

set JAVA_OPTS=-Xms512m -Xmx512m //表示初始化最小可用内存和最大可用内存都是512MB(修改相应值即可)

 

 如在catalina.bat的

     rem ----- Execute The Requested Command

     echo Using CATALINA_BASE:   %CATALINA_BASE%

     echo Using CATALINA_HOME:   %CATALINA_HOME%

     echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%

     echo Using JAVA_HOME:       %JAVA_HOME%

这一栏改为

    rem ----- Execute The Requested Command

    set JAVA_OPTS=-Xms512m -Xmx512m

    echo Using CATALINA_BASE:   %CATALINA_BASE%

    echo Using CATALINA_HOME:   %CATALINA_HOME%

    echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%

    echo Using JAVA_HOME:       %JAVA_HOME%

就可以将JAVA虚拟机分配内存  508.0625MB的!

但是很多人修改后,发现修改并没有起作用,即通过windows的服务启动tomcat时,实际的内存还是默认的,修改的设置并没有起作用;而通过<CATALINA_HOME>\bin\startup.bat 启动却是生效的。这是为什么呢?因为在安装过程中,JVM的初始化参数已经写在注册表中了,由于没有修改注册表中相关参数,所以以windows服务方式启动时,修改的并没有生效。而通过<CATALINA_HOME>\bin\startup.bat 启动直接是通过<CATALINA_HOME>\bin\catalina.bat文件中的配置的。你需要重新加载到系统服务中才生效,或者你手工在注册表中查找修改启动值,加载到服务中的时候参数已经配置好了,自己修改artup.bat不会改变注册表中的参数设置。

 

解决方法:修改注册表中的参数,加入JVM初始化内存的参数:

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

如加入 -Xms512m -Xmx800m

 

方式2:针对免安装的用户,也可以通过将tomcat注册为windows的一个服务的方式来实现:‘

我们可以对service.bat文件做一些其他修改,使tomcat更加能满足我们各种不同需求时的要求

1. 如果让tomcat编译jsp文件,就在PR_CLASSPATH中加入J2SDK的tools.jar

修改前:

set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar

修改后:

set PR_CLASSPATH=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar

2.要使用一个特定的JVM,就要修改jvm的参数;要使注册的windows服务的启动方式为自动,增加--Startup Automatic,这个是比较常用的;要用定制的server.xml配置文件并且传递多个参数给StartClass,要修改StartParams的值,各个值之间用分号分隔:

修改前:

"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm auto

--StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap

--StartParams start --StopParams stop

修改后:

"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm "%JAVA_HOME%\jre\bin\server\jvm.dll"

--StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap

--StartParams "-config;%CUSTOM_SERVERXML_FILE%;-nonaming;start" --StopParams stop

--Startup Automatic

3. 指定最大和最小的内存限制,要增加jvm的初始参数

修改前:

"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions

"-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"

--StartMode jvm --StopMode jvm

修改后:

"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions

"-Xms128M;-Xmx256M;-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed"

--StartMode jvm --StopMode jvm

4.有时注册windows服务成功后,但是启动服务时显示“发生服务特定错误: 0.”

就是因为jvm没有指定,修改Jvm auto为Jvm "%JAVA_HOME%\jre\bin\server\jvm.dll"后重新注册windows服务就可以启动了。

增加eclipse启动的Tomcat内存的方法 tomcat内存增加的更多相关文章

  1. 增加eclipse启动的Tomcat内存的

    JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存和最大内存在一定程度都会影响程序的性能. 如何设置Tomcat的JVM内存大小 Tomcat本身不能直接在计算机上运行 ...

  2. 关于 eclipse启动卡死的问题 解决方法

    关于 eclipse启动卡死的问题(eclipse上一次没有正确关闭,导致启动的时候卡死错误解决方法),自己常用的解决方法: 方案一(推荐使用,如果没有这个文件,就使用方案二): 到<works ...

  3. 2013第51周二eclipse启动优化

    2013第51周二eclipse启动优化 今天注意到了eclipse.ini配置文件中gc.log--在eclipse启动时清空,然后记录了eclipse每次运行过程中的gc分配情况,看到了一篇很好的 ...

  4. JVM自动内存管理机制——Java内存区域(下)

    一.虚拟机参数配置 在上一篇<Java自动内存管理机制——Java内存区域(上)>中介绍了有关的基础知识,这一篇主要是通过一些示例来了解有关虚拟机参数的配置. 1.Java堆参数设置 a) ...

  5. [转]Eclipse启动Tomcat时45秒超时解决方法

    原文地址:http://it.oyksoft.com/post/6577/ Eclipse启动Tomcat时,默认配置的启动超时时长为45秒.假若项目启动超过45秒将会报错.两种解决方法:1.改XML ...

  6. Springmvc+Hibernate在Eclipse启动Tomcat需要很长时间的解决方法

    最近在学习SpringMvc开发,有一个提问困扰了很久,就是在Eclipse启动Tomcat需要很长时间,大概要1分多钟. 启动日志: 九月 08, 2016 8:59:01 下午 org.apach ...

  7. Eclipse启动Tomcat时45秒超时的解决方法

    Eclipse启动Tomcat时,默认配置的启动超时时长为45秒.假若项目需要加载的东西比较多,启动时间会比较久,如果启动超过45秒将会报错.有两种解决途径,方法只有一个,就是修改启动时间. 1. 修 ...

  8. eclipse启动tomcat内存溢出的解决方式

    eclipse启动tomcat内存溢出的解决方式 ——IT唐伯虎 摘要:eclipse启动tomcat内存溢出的解决方式. 1.打开Run Configurations 2.在VM arguments ...

  9. [转]eclipse启动tomcat无法访问的解决方法

    这篇文章介绍了eclipse启动tomcat无法访问的解决方法,有需要的朋友可以参考一下 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080 ...

随机推荐

  1. 1011 最大公约数GCD

    1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 输入2个正整数A,B,求A与B的最大公约数. Input 2个数A,B,中间用空格隔开.(1<= A,B < ...

  2. Window 2008 R2 + IIS7.5 + VS2013 错误代码 0x80070002

    HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或暂时不可用.详细错误信息模块 IIS Web Core通知 MapRequest Handler处理程序 Static ...

  3. *[codility]ArrayInversionCount

    http://codility.com/demo/take-sample-test/arrayinversioncount 求逆序对数,归并排序并记录逆序次数. // you can also use ...

  4. TiDB:支持 MySQL 协议的分布式数据库解决方案

    [编者按]TiDB 是国内 PingCAP 团队开发的一个分布式 SQL 数据库.其灵感来自于 Google 的 F1,TiDB 支持包括传统 RDBMS 和 NoSQL 的特性.在国内 ITOM 管 ...

  5. J2EE (十) 简洁的JSTL、EL

    简介 JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库. 由四个定制标记库(core.format.xml 和 sql)和一对通 ...

  6. OpenCV 实现图片的水平投影与垂直投影,并进行行分割

    对于印刷体图片来说,进行水平投影和垂直投影可以很快的进行分割,本文就在OpenCV中如何进行水平投影和垂直投影通过代码进行说明. 水平投影:二维图像在y轴上的投影 垂直投影:二维图像在x轴上的投影 由 ...

  7. Windows下Tomcat调优

    windows tomcat 优化 1.  tomcat conf server.xml 在server.xml中修改以一部分,增加节点数目,可以很好的提高性能: <Connector port ...

  8. GIT入门笔记(20)- git 开发提交代码过程梳理

    git开发提交流程新项目开发,可以直接往master上提交老项目维护,可以在分支上修改提交,多次add和commit之后,也可以用pull合并主干和本地master,解决冲突后再push 1.检出代码 ...

  9. Oracle解锁scott账号

    在安装Oracle的最后一步,有一个口令管理的操作,当时忘了给scott账号解锁了(Oracle为程序测试提供的一个普通账户,口令管理中可以对数据库用户设置密码,默认是锁定的).现在想给scott这个 ...

  10. C++——简单数据类型及布尔类型

    一. 简单数据类型 数据类型描述了对象在内存存储区中占据的空间大小,描述了对象能够表示的数据范围 和类型.C++语言中常用的数据类型有整型.实型.字符型(这3种类型也被称之为简单数 据类型).数组类型 ...