tomcat内存溢出总结
在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。
这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况:
1.OutOfMemoryError: Java heap space
2.OutOfMemoryError: PermGen space
3.OutOfMemoryError: unable to create new native thread.
对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-Xms -Xmx -XX:PermSize -XX:MaxPermSize)
最后一种可能需要调整操作系统和tomcat jvm参数同时调整才能达到目的。
第一种:是堆溢出。
在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
没有内存泄露的情况下,调整-Xms -Xmx参数可以解决。
-Xms:初始堆大小
-Xmx:最大堆大小
但堆的大小受下面三方面影响:
1.相关操作系统的数据模型(32-bt还是64-bit)限制;(32位系统下,一般限制在1.5G~2G;我在2003 server 系统下(物理内存:4G和6G,jdk:1.6)测试 1612M,64为操作系统对内存无限制。)
2.系统的可用虚拟内存限制;
3.系统的可用物理内存限制。
堆的大小可以使用 java -Xmx***M version 命令来测试。支持的话会出现jdk的版本号,不支持会报错。
-Xms -Xmx一般配置成一样比较好比如set JAVA_OPTS= -Xms1024m -Xmx1024m
分享到:
相关推荐
Tomcat内存溢出是Java应用程序中常见的问题,尤其是在运行大型Web应用程序时。内存溢出会导致系统性能下降,甚至服务崩溃。以下是对Tomcat内存溢出的三种常见类型的详细解释及解决策略。 1. OutOfMemoryError: Java...
### Eclipse Memory Analyzer (MAT) 分析 Tomcat 内存溢出详解 #### 一、引言 在软件开发过程中,特别是在 Java 应用程序中,内存管理是非常关键的一环。当应用程序遭遇 `OutOfMemoryError` 异常时,通常意味着...
### Tomcat内存溢出问题详解 #### 一、引言 在Java Web应用服务器领域,Apache Tomcat是一款非常流行的开源Web容器,它以其轻量级、高性能和稳定性著称。然而,在实际部署与运行过程中,Tomcat服务器可能会遇到...
为了解决Tomcat内存溢出的问题,开发者需要对JVM内存分配有深入的理解,并且能够在不同操作系统环境中灵活设置JAVA_OPTS参数。通过合理分配初始堆内存(-Xms)和最大堆内存(-Xmx)的大小,并根据实际情况调整年轻代...
### MyEclipse下Tomcat日志输出和内存溢出解决方法 #### 一、问题背景与概述 在使用MyEclipse进行开发时,经常会遇到Tomcat服务器启动后,在部署SSH(Struts+Spring+Hibernate)项目多次后出现崩溃的情况。这通常...
"TOMCAT内存大小调整" TOMCAT内存大小调整是指在使用Java程序从数据库中查询大量数据或应用服务器(如Tomcat、JBoss、WebLogic)加载jar包时,出现java.lang.OutOfMemoryError异常的解决方法。这种异常主要是由于...
总结来说,解决MyEclipse内存溢出问题需要理解Java内存模型和JVM参数设置,合理分配堆内存、新生代和永久代的大小。通过监控和调整这些参数,可以有效地避免内存溢出问题,提升应用的稳定性和性能。
【Tomcat内存溢出解决建议方案】 在Windows Server 2003 32位操作系统上运行的Tomcat Web应用程序经常遇到内存溢出问题,这种现象表现为溢出发生后重启Tomcat,但在大约一个月后再次出现。内存溢出的原因多种多样,...
描述中提到的“winserver tomcat注册成服务修改内存大小,解决tomcat内存溢出”,意味着在Windows Server操作系统上,Tomcat被配置为一个系统服务运行,这样可以确保服务器启动时自动启动Tomcat。然而,这种配置方式...
### Tomcat内存优化详解 #### 一、引言 在Java Web应用开发中,Apache Tomcat作为一款轻量级的应用服务器被广泛使用。然而,在实际部署和运行过程中,经常会遇到性能瓶颈,其中最常见的问题之一就是内存溢出异常,...
总结来说,解决由JSP页面引发的Tomcat内存溢出问题,通常需要从控制session的生命周期、调整JSP页面行为,以及优化应用配置等多方面进行。合理配置Web容器和应用程序,以及适时的监控和分析,是避免内存溢出的有效...
#### Tomcat内存配置详解 **1. Linux环境配置** - 在`catalina.sh`文件顶部添加以下配置: ```sh JAVA_OPTS="-server –Xms1024m –Xmx2048m -XX:PermSize=128M -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit" ...
在Linux环境下运行Tomcat服务器时,经常会遇到与Java虚拟机(JVM)相关的内存溢出问题。这些问题通常表现为`java.lang.OutOfMemoryError`异常,具体又分为两类:`PermGen space`内存溢出和`Java heap space`内存溢出...