关于tomcat内存设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于tomcat内存设置相关的知识,希望对你有一定的参考价值。

我在catalina.bat里设置了初始内存和最大内存:
set CATALINA_OPTS="-Xms30m -Xmx512m"
tomcat运行起来,初始内存确实是30m,但内存最大只能到64m,之后就报内存溢出错误,而我的服务器是1G内存(win2000系统).查看任务管理器,已用内存还不到500m.
还需要设置哪吗?
我在编程类里提了类似问题105分,
http://zhidao.baidu.com/question/25136505.html?quesup1

检查一下Catalina.bat文件,在每个“%_RUNJAVA%”后面都应该有“%CATALINA_OPTS%”

有的Catalina.bat文件在“%_RUNJAVA%”后面跟着“%JAVA_OPTS%”,

如果是这样,你应该设置:

set JAVA_OPTS=-Xms30m -Xmx512m

或者在每个“%_RUNJAVA%”后面加上“%CATALINA_OPTS%”
参考技术A Tomcat内存配置
JAVA_OPTS="-server -Duser.timezone=GMT+08-Xms1024m -Xmx1024m -XX:PermSize=1024m -Xmn512m-XX:MaxPermSize=1024m-Djava.awt.headless=true"
-Xms: Initial java heap size 初始堆栈大小
-Xmx: Maximum java heap size 最大堆栈大小
(1)最高优先级: -XX:NewSize=1024m和-XX:MaxNewSize=1024m
(2)次高优先级Xmn1024m
(默认等效效果是:-XX:NewSize==-XX:MaxNewSize==1024m)
(3) 最低优先级:-XX:NewRatio=2
推荐使用的是-Xmn参数,原因是这个参数很简洁,相当于一次性设定NewSize和MaxNewSIze,而且两者相等。-Xmn配合-Xms堆起始大小和-Xmx堆最大大小,恰好把堆内存布局确定完了(估计设计者也是因为简洁的原因,弄出了三个简写参数)。另外,官文似乎说-Xmn是1.4才开始支持的,但是如今应该没有还在用1.4之前的JRE的吧。
参考技术B 初始内存确实是30m,但内存最大只能到64m
可能是你的使用内存比较小
但是在你运行之后,发出溢出警报,那就是你的实际内存有问题,这样看来是你的1G内存出了问题,检查一下
参考技术C 这个问题 你最好是问问服务器厂家

关于tomcat

1.  -Xms 初始堆 -Xmx 最大堆  -Xmn 新生代  -XX:PermSize 初始分配的非堆内存  -vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了  -XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

-XX:MaxNewSize

  1. 就是tomcat对自身堆栈的新的最大的分配;

  2. 当tomcat内存不足时,调用此分配;

  3. 从而达到调优的目的。

2. 

以上是关于关于tomcat内存设置的主要内容,如果未能解决你的问题,请参考以下文章

如何更改tomcat7及以上版本内存设置

如何更改tomcat7及以上版本内存设置

tomcat的内存如何限制大小

(原创)部署web服务器的配置——补充mysql和tomcat

eclipse内存设置,tomcat内存设置,查看内存大小

tomcat下jvm设置的最大值