- 浏览: 891175 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
转自:http://java0.iteye.com/blog/169302
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服务就可以启动了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifesounds/archive/2008/05/15/2447214.aspx
发表评论
文章已被作者锁定,不允许评论。
-
JVM的内存优化
2012-06-21 12:37 1314自:http://hi.baidu.com/walte ... -
JVM最大分配内存
2012-06-21 12:27 1121分析了当前比较流行的几个不同公司不同版本JVM的最大内存,得出 ... -
查看jvm最大内存
2012-06-21 12:22 1493查看jvm最大内存 java -Xmx1500M -vers ... -
Tomcat内存设置 .
2012-06-15 23:03 1042Tomcat 内存配置 2009年08月11日 17:05 ... -
如何指定tomcat中session过期时间
2012-06-06 11:33 833如何指定tomcat中session过期时间 1. 在se ... -
负载均衡环境中和如何设置Expires和Etag .
2012-06-12 09:56 1538在负载均衡环境中(LVS, LoadBalance)为了减少浏 ... -
轻松实现Apache,Tomcat集群和负载均衡
2012-06-05 23:24 1054作者:罗代均 ldj_work#126.com,转载请保持完整 ... -
tomcat最多能支持多少用户
2012-06-05 23:20 2760Tomcat里用线城池来控制并发用户的个数。 初始化为150个 ... -
tomcat开启Gzip
2011-04-08 23:52 1267现在来说一下如何在TOM猫中一步到位(要求TOM猫5.0以后版 ... -
tomcat的虚拟站点问题
2011-03-02 14:50 1374<Host name="localhost&q ... -
Tomcat里 appBase和docBase的区别
2011-03-02 14:47 1265<host appBase="d:/aaa&q ... -
Apache+Tomcat负载均衡和集群的尝试
2011-03-02 14:44 11361 各软件版本 Apache 2.2.4 因为jd_mod 用 ... -
Tomcat源码分析之JNDI
2011-03-02 14:43 1507在tomcat服务器中,我们可以通过配置文件%CATALINA ... -
tomcat和apache整合
2011-03-02 14:42 996为什么要整合了.其实很简单.原因就是: tomcat在静态 ... -
将Tomcat解压缩版变成服务形式运行,并修改Tomcat的启动内存参数
2011-03-02 14:41 1330许多朋友为了调试方便,下载使用的Tomcat是.zip的解压缩 ... -
Tomcat5.5.x配置整理 - 在重新启动Tomcat的webapp的时候,禁止把session写入文件
2011-03-02 14:39 989修改conf/web.xml 取消注释: <!--- ... -
java.lang.OutOfMemoryError: PermGen space及其解决方法
2011-03-02 14:38 8431、PermGen space的全称是Permanent Ge ... -
Tomcat 同时侦听多端口,多应用
2011-03-02 14:37 1075当你使用Tomcat作为Web Server的时候,是不是会想 ... -
Tomcat5.5.x配置整理 - 配置日志
2011-03-02 14:33 1021在D:\jakarta-tomcat-5.5.8\comm ... -
Tomcat5.5.x配置整理 - 增强SessiionID的生成算法和长度
2011-03-02 14:32 931查看复制到剪切板打印 <Manage ...
相关推荐
然后,找到Tomcat/BIN目录下startup.bat,双击打开它,你会发现Windows内存占用会增加近800M。最后,执行程序,因为是Tomcat重新编译程序,所以第一次会比较慢。 结论: 经过测试,我们得出如下数据:当系统传输约...
1. **调整JVM参数**:在Tomcat的启动脚本(如`catalina.sh`或`catalina.bat`)中,可以通过设置JVM的启动参数来控制内存大小。常用的是-Xms和-Xmx参数,分别代表初始堆内存和最大堆内存。例如,可以设置为`-Xms256m ...
在Tomcat中,我们可以通过修改`bin/catalina.sh`(对于Unix/Linux系统)或`bin/catalina.bat`(对于Windows系统)脚本来设置JVM的内存分配。我们需要增加以下两个参数: 1. `-XX:MaxPermSize=256m`:设置最大 Perm...
1. **修改Tomcat的启动脚本**:通过编辑`G:\apache-tomcat-6.0.37\bin\catalina.bat`文件,添加`set JAVA_OPTS=-Xms256m -Xmx512m`来指定Tomcat的初始堆内存为256MB,最大堆内存为512MB。 - **操作步骤**: 1. ...
- 打开Tomcat安装目录下的`bin`文件夹,找到`catalina.bat`文件(Windows系统)或`catalina.sh`文件(Linux/Mac系统)。 - 在文件中添加或修改JVM参数以增加分配给JVM的内存大小。例如,可以将`JAVA_OPTS`设置为: ...
### Java Excel导出Tomcat内存溢出处理方法 在Java应用开发过程中,特别是在进行大量数据处理如Excel导出等操作时,经常会遇到Tomcat服务器内存溢出的问题。内存溢出是指程序运行时申请的内存超过了系统能提供的...
Tomcat初始启动内存设置 ...通过环境变量或修改Catalina.bat文件的方法,可以轻松地设置Tomcat的初始内存大小。然而,需要根据实际情况来设置合适的初始内存大小,以避免服务器的性能下降或内存溢出。
项目发布启动后内存溢出,在免安装版tomcat包下,catalina.bat文件中的配置。
如果您的tomcat是6.X版本且是安装版的,那么系统设置环境变量是不起作用的,因为这个版本的只能通过点击tomcat6.exe 或tomcat6w.exe才能执行,这种方法可以通过修改注册表能解决:本例是以内存3G为例的。 windows...
3. **重启Tomcat**:修改完成后,需要重启Tomcat服务以使新的内存参数生效。 ### 性能调优建议 在调整Tomcat的内存参数时,应考虑以下几点以实现最佳性能: - **监控内存使用**:使用工具如VisualVM或JConsole...
在使用 Tomcat 进行 Web 应用部署时,可能会遇到内存不足的问题,尤其是在启动大型应用或者应用中存在大量缓存数据的情况下,很容易导致 Java 虚拟机(JVM)内存溢出错误。本文将详细介绍如何调整 Tomcat 的内存配置...
- 在Windows系统下,可以通过修改`C:\tomcat5.5.9\bin\catalina.bat`文件中的`JAVA_OPTS`变量来设置JVM的初始堆内存大小(`-Xms`)和最大堆内存大小(`-Xmx`)。例如: ```bat set JAVA_OPTS=-Xms64m -Xmx512m `...
- 解决方案:通过修改`conf/server.xml`中的`<Connector>`元素来更改Tomcat的监听端口。 5. **操作系统限制** - 某些操作系统的设置可能会影响到Tomcat的正常运行,例如资源限制、权限问题等。 - 解决方案:检查...
安装Tomcat通常包括解压下载的压缩包、配置环境变量、修改`server.xml`配置文件以设置端口号,以及启动和停止服务。在Windows下,可以通过bat脚本`startup.bat`和`shutdown.bat`来启动和关闭Tomcat。 5. **Web应用...
在Tomcat以bat方式启动时,需要修改TOMCAT_HOME/bin/catalina.sh文件,加入以下行:`JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m`。如果Tomcat是注册成了Windows服务,以services方式启动的,则需要...
- `catalina.bat`是Windows环境下Tomcat的启动脚本。在该文件中,你可以找到`set JAVA_OPTS`行,这里就是设置JVM参数的地方。例如,你可以添加以下行来增加内存分配: ```batch set JAVA_OPTS=-Xms256m -Xmx1024m...
在Tomcat服务器中,可以通过修改`bin`目录下的`catalina.bat`脚本来调整Java虚拟机(JVM)的内存参数。具体操作如下: 1. **打开`catalina.bat`文件**:使用文本编辑器打开Tomcat安装目录下的`bin`文件夹中的`...