-
安装版
-
运行菜单中的"Configure Tomcat"
o 打开如下图所示的Tomcat属性配置对话框
在Java标签的Java Options中增加如下2行配置,同时设置Tomcat的初始和最大内存数量,同时禁用JVM的UseGCOverheadLimit,如下图所示:
-XX:MaxNewSize=512m
-XX:MaxPermSize=512m
-XX:-UseGCOverheadLimit
-XX:-UseSplitVerifier
o 关于MaxNewSize和MaxPermSize
上面这2个参数,在64位的操作系统下,最大配置为512m即可,配置更大也起不到优化的效果。
o 关于Tomcat的最大可用内存
32位的Tomcat最大可用内存"Maximum memory pool"在1100M左右,如果配置值超过这个大小,Tomcat启动会报错。
如果安装在32位的Windows XP系统中,最大内存也不能超过1100M,JVM参数的MaxNewSize和MaxPermSize也要相应减少至256M,
参数可按如下所示设置:
-XX:MaxNewSize=256m
-XX:MaxPermSize=256m
-XX:-UseGCOverheadLimit
-XX:-UseSplitVerifier
设置的界面截图如下:
64位的Tomcat没有这个限制,可以尽可能配置大一些,推荐配置10240M(10GB),但是64位的Tomcat需要安装在64位的操作系统中。
完整配置的字符串如下:
-Xmx10240M -Xms512M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit
-
解压版
如果解压版的tomcat注册成了windows服务:
在bin文件夹下运行:“tomcat7w.exe //MS//Tomcat7”,如下图所示:
然后在打开的配置界面中进行配置。
(2)如果解压版的tomcat没有注册成windows服务:
在catalina.bat的第2行,加上如下一行,注意不能换行,如下图所示:
(注意:上面的内存参数Xmx,设置的是10G,要根据服务器的内存实际大小,改为合适值)
增加的代码文本如下:
set JAVA_OPTS=-Xmx10240M -Xms512M -XX:MaxNewSize=512m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit
安装版运行菜单中的"Configure Tomcat"o 打开如下图所示的Tomcat属性配置对话框在Java标签的Java Options中增加如下2行配置,同时设置Tomcat的初始和最大内存数量,同时禁用JVM的UseGCOverheadLimit,如下图所示:-XX:MaxNewSize=512m-XX:MaxPermSize=512m-XX:-UseGCOverheadLimit-XX:-UseSplitVerifiero 关于MaxNewSize和MaxPermSize.
tomcat设置内存大小防止服务器OOM
在tomcat的bin目录下(eg:/usr/local/apache-tomcat-8.5.37/bin/)修改catalina.sh文件
在cygwin=false之前添加
JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
如果是jdk 8....
TOMCAT默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,轻微时,会使系统性能急剧下降,严重时,将导致系统无法运行,影响系统的稳定性。当内存不够用时,常见的问题就是报tomcat内存益处错误,从儿导致客户端包500错误的,如下:解决方法主要是加大TOMCAT可利用内存,并在程序当中加大内存使用。因此根据应用的需求,有必要调整JVM使用内存的大小。
tom...
Tomcat内存溢出问题通常可以通过以下几种方式来解决:
1. 调整JVM内存参数:可以通过修改Tomcat的启动脚本中的JAVA_OPTS参数来增加JVM内存。比如,可以增加-Xms和-Xmx参数来设置JVM的最小内存和最大内存,以及-XX:MaxPermSize参数来设置永久区内存大小。
2. 优化Web应用:可以通过对Web应用程序进行优化来减少内存使用。比如,可以尽量使用JSP标签库、避免使用会占用大量内存的大对象、避免使用过多的Session等。
3. 升级Tomcat版本:新版本的Tomcat可能会修复内存泄漏等问题,从而减少内存使用。
4. 使用内存分析工具:可以使用内存分析工具来检测内存泄漏问题。比如,可以使用Eclipse Memory Analyzer来分析内存,并找出内存泄漏的原因。
5. 增加服务器硬件配置:如果以上方法无法解决内存溢出问题,可以考虑增加服务器的硬件配置,比如增加内存、CPU等。