这里要分配的是允许java使用的最大内存大小,要根据MAS服务器实际配置而定。建议配置如下:
1G内存:JAVA_OPTS='-Xms512m -Xmx512m'
2G内存:JAVA_OPTS='-Xms512m -Xmx1024m'
4G内存:JAVA_OPTS='-Xms512m -Xmx2048m'
用vi打开/opt/tomcat/bin/catalina.sh,在开头加入:
JAVA_OPTS='-Xms512m -Xmx512m'
保存退出。
,由于没有修改注册表中相关参数,所以以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服务就可以启动了
分享到:
相关推荐
tomcat分配内存
例如`-Xms800m`表示JVM启动时初始分配的堆内存为800MB。 2. **-Xmx**:表示JVM运行过程中最大可用的堆内存大小。例如`-Xmx800m`表示JVM运行过程中最大可用的堆内存为800MB。 3. **-XX:PermSize**:表示JVM永久代...
2. **Total memory**(当前已分配内存):这是JVM总共分配给应用程序的内存,包括堆内存和非堆内存(如方法区)。如果这个值接近最大内存,那么JVM可能会触发垃圾回收来释放空间。 3. **Max memory**(当前允许分配...
这意味着JVM启动时会立即分配2496MB的内存空间作为堆内存。 3. **-Xmx2496M**:设定JVM的最大堆内存大小为2496MB。当JVM运行过程中堆内存不足时,可以动态扩展至最大值,但不会超过此设定值。 4. **-XX:PermSize=...
此时,启动Tomcat后预计占用的总内存为:1.36GB + 128MB + 256MB ≈ 1.766GB。 **2. 启动Tomcat后的内存检查** 启动Tomcat后,同样可以通过任务管理器等工具检查内存使用情况。在案例中,实际内存占用接近预计值1....
- `-Xms` 参数指定了Java虚拟机启动时分配的堆内存最小值,例如 `-Xms256m` 表示初始堆内存为256MB。 - `-Xmx` 参数设定了堆内存的最大值,如 `-Xmx512m` 指定最大堆内存为512MB。这两个参数是调整Tomcat内存的关键...
根据文档描述,Tomcat JVM虚拟机默认内存大约为1800M。这个值可能并不适合所有应用场景,特别是对于内存消耗较大的应用来说,可能会导致频繁的GC活动甚至OOM(Out Of Memory)错误。因此,根据实际需求调整JVM内存是...
### 为Tomcat设置内存详解 #### 一、引言 在使用Tomcat服务器部署Java Web应用时,可能会遇到一个常见的问题:内存溢出错误。这种情况通常发生在服务器资源不足或应用消耗内存过大时。为了解决这个问题,我们需要...
1. **堆内存溢出**:当JVM堆内存无法分配新的对象时,会出现堆内存溢出。这通常是由于程序创建了过多的对象或者有大量长期驻留内存的对象未被垃圾回收器清理。 - **Xms1024m**:表示初始化堆内存大小为1024MB。 ...
- 在 `JAVA_OPTS` 变量中添加以下参数以调整 JVM 的内存分配: - `-Xms450m`:设置初始堆内存大小为 450MB。 - `-Xmx750m`:设置最大堆内存大小为 750MB。 - `-Xss4m`:设置线程栈大小为 4MB。 - `-XX:...
- **合理配置JVM内存**:根据服务器硬件和应用需求设定合适的内存分配,避免因内存不足导致的频繁垃圾回收。 - **定期重启Tomcat**:定期重启服务有助于释放不再使用的内存和避免长时间运行的副作用。 - **优化...
这里`-Xms64m`表示初始分配的堆内存大小为64MB,而`-Xmx256m`表示最大分配的堆内存大小为256MB。 #### 二、调整Tomcat的JVM参数 当使用Tomcat部署Java应用程序时,也可以通过调整Tomcat的JVM参数来优化内存配置。...
这里,我们设置了初始堆内存为256MB,最大堆内存为1GB,以及 PermGen 区域的大小为256MB。根据你的应用需求和系统资源,这些值可能需要适当调整。 接下来是"用户配置"。在Tomcat6中,用户管理和角色授权主要通过`...