导致原因:SUN的JVM的PermSize默认值太小,导致了java.lang.OutOfMemoryError: PermGen space异常。
解决办法:
1. 使用带有脚本的Tomcat。
2. 如果系统已经运行安装过tomcat安装包,那么在系统环境中会有CATALINA_BASE,CATALINA_HOME,等配置,这些配置是全局的,应该删去。由于tomcat的启动脚本会配置临时的启动参数,所以不会影响tomcat的启动。
3. 参数配置建议在catalina.bat文件的Execute The Requested Commnad注释之后。
4. 在添加参数时,需要保持原有参数不被全部覆盖,比如添加配置项到JAVA_OPTS,应该首先set JAVA_OPTS=%JAVA_OPTS%,之后再添加-server -XX:PermSize=128M -XX:MaxPermSize=512m参数。
5. 在配置完成PermSize后,还有可能出现java.lang.OutOfMemoryError: Java heap space。这是由于JVM的内存限制导致的。可以添加参数-Xms250m -Xmx1000m来配置,具体配置的内存数量因更具发布系统的内存容量来确定。
配置样例:
windows:
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
linux:
JAVA_OPTS=$JAVA_OPTS -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
分享到:
相关推荐
在使用MyEclipse进行Java Web开发时,经常会遇到Tomcat服务器启动后出现JVM内存溢出的问题。这种情况通常表现为应用程序运行过程中突然崩溃,并伴随着错误提示:“OutOfMemoryError”。这种错误不仅会影响开发效率,...
在Java开发过程中,特别是在使用Eclipse作为集成开发环境(IDE)并结合Apache Tomcat服务器进行Web应用开发时,经常会遇到内存溢出的问题。这类问题通常表现为应用程序运行过程中出现OutOfMemoryError(OOM)错误,...
JVM 内存溢出是指程序运行所需的内存大于虚拟机能提供的最大内存的情况。这种情况可能是由于数据量过大、死循环、静态变量和静态方法过多、递归、无法确定是否被引用的对象等原因引起的。同时,虚拟机不回收内存...
标题中的“关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论”涉及了两个关键的IT概念:Tomcat服务器的字符编码问题和Java虚拟机(JVM)内存管理的问题。让我们逐一深入探讨这两个主题。 首先,我们来...
在进行Web应用程序开发过程中,尤其是在使用Tomcat服务器结合Eclipse或MyEclipse等集成开发环境(IDE)时,开发者可能会遇到一个常见的问题——内存溢出。具体表现为在访问部署的应用程序时出现`java.lang....
Tomcat是Apache软件基金会的一个开源项目,作为一个流行的Java Servlet容器,它常用于部署和运行Java Web应用程序。内存溢出问题(Out of Memory Error,OOME)在高负载或长时间运行的环境中常见,通常是由于内存...
6. **升级或切换版本**:如果Jetty 8的内存溢出问题难以解决,可以考虑升级到更稳定或内存管理更优化的版本,如Jetty 9或更高版本,或者考虑使用其他Web服务器,如Tomcat。 7. **使用G1垃圾收集器**:G1(Garbage ...
在部署和运维基于Java的应用程序时,Tomcat作为广泛使用的轻量级Web容器之一,常常会在高负载或资源管理不当的情况下遭遇内存溢出的问题。内存溢出不仅会导致服务不可用,还可能引发系统崩溃。因此,了解并掌握如何...
然而,在实际部署与运行过程中,Tomcat服务器可能会遇到内存溢出的问题。本文将围绕“Tomcat内存溢出”这一主题,结合提供的描述与部分内容,深入探讨该问题的原因、表现形式以及具体的解决方案。 #### 二、Tomcat...
- 对于Web应用,如果在部署到Tomcat服务器上时仍然出现内存溢出问题,还需要调整Tomcat的JVM参数。 - 修改Tomcat安装目录下的`bin`文件夹中的`catalina.bat`文件,在`set JAVA_OPTS=`这一行添加或修改如下内容: ...
在Windows Server 2003 32位操作系统上运行的Tomcat Web应用程序经常遇到内存溢出问题,这种现象表现为溢出发生后重启Tomcat,但在大约一个月后再次出现。内存溢出的原因多种多样,对应的解决方案也各有不同。以下是...
Tomcat内存溢出是Java应用程序中常见的问题,尤其是在运行大型Web应用程序时。内存溢出会导致系统性能下降,甚至服务崩溃。以下是对Tomcat内存溢出的三种常见类型的详细解释及解决策略。 1. OutOfMemoryError: Java...
如果你是在MyEclipse中运行Web项目并遇到内存溢出,可能需要调整Tomcat服务器的内存配置: - 找到Tomcat的安装根目录,编辑`%tomcat%\bin\catalina.bat`文件,在`SET JAVA_OPTS`行添加: ```batch SET JAVA_...
Linux系统下,Tomcat服务器遇到内存溢出问题时,往往是由于Java应用程序的内存管理不当导致的。内存溢出是程序运行过程中的一种常见错误,当程序请求的内存超过了系统分配的最大值时,就会触发该错误。这里我们将...
2. **分析内存使用**:使用内存分析工具,如VisualVM或JProfiler,来监控Tomcat运行时的内存使用情况,找出内存泄漏的源头。 3. **优化代码**:检查代码中是否有创建大量临时对象、未及时释放大对象或者静态变量...
通常情况下,GC并不会在主程序运行期间对PermGen Space进行清理。 #### 二、PermGen Space 内存溢出原因分析 当应用程序加载了大量的第三方库或自定义类时,PermGen Space可能会迅速填满,从而导致内存溢出错误...
内存溢出(Memory Leak)是指程序运行过程中使用的内存超过系统所能提供的最大内存限制时所出现的问题。这种情况通常发生在Java等需要进行垃圾回收的语言中。当应用程序创建的对象没有被适当地释放或回收时,就会...