`

Tomcat内存问题(一):Java heap space

阅读更多

错误信息:

javax.servlet.ServletException: Java heap space

原因:jvm内存不足
Heap size 设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
注意:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xms为1/4的-Xmx值。

 

解决方法:手动设置Heap size

1.如果是unix/linux操作系统:
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE:    $CATALINA_BASE"”上面加入以下行:

JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -XX:MaxNewSize=256m" 

  
2.如果是windows操作系统:
修改TOMCAT_HOME/bin/catalina.bat
在  echo Using CATALINA_BASE:   %CATALINA_BASE% 上面加入以下行:

set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:MaxNewSize=256m
 

 

 

 

 

分享到:
评论
2 楼 java_linkin 2011-09-27  
我按照这种方法设置的,但在启动tomcat时还是报内存溢出
1 楼 ileson 2011-04-20  

相关推荐

    记录java.lang.OutOfMemoryErrorJava heap space的情况.docx

    记录java.lang.OutOfMemoryError:Java heap space的情况 文章内容: 一.问题描述+原因分析+解决方案 二.JVM调优说明 三.Tomcat添加到jvisualvm监控

    java.lang.OutOfMemoryError解决办法

    报错 java.lang.OutOfMemoryError: PermGen space 报错 java.lang.OutOfMemoryError: Java heap 启动报错java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler JAVA_OPTS="-server -Xms800m ...

    java heap space tomcat6 内存溢出

    如果您的tomcat是6.X版本且是安装版的,那么系统设置环境变量是不起作用的,因为这个版本的只能通过点击tomcat6.exe 或tomcat6w.exe才能执行,这种方法可以通过修改注册表能解决:本例是以内存3G为例的。 windows...

    tomcat 解决Java heap space问题

    NULL 博文链接:https://zhangzhi199129.iteye.com/blog/1659315

    Java heap space 解决方法

    Java heap space 解决方法,解决tomcat堆栈溢出问题.

    TOMCAT 内存溢出

    TOMCAT出错:java.lang.OutOfMemoryError: Java heap space

    Java 内存溢出解决办法

    Java内存溢出解决办法 加大Tomcat使用Jvm内存(转载) 注重版权 Caused by: java lang OutOfMemoryError: Java heap space 错误原因及解决方法

    tomcat内存溢出总结

    tomcat内存溢出总结 在生产环境中tomcat内存设置不好很容易出现内存溢出。... 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread.

    解决Java_heap_space问题

    解决Java_heap_space问题,解决tomcat内存溢出问题

    JBOSS\Tomcat最大连接数配置和jvm内存配置.docx

    JBOSS\Tomcat最大连接数配置和jvm内存配置,解决内存溢出问题 Java中OutOfMemoryError(内存溢出)的情况 第一种OutOfMemoryError: PermGen space 第二种OutOfMemoryError: Java heap space

    Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError PermGen space的解决方案

    Eclipse中通过Tomcat运行J2EE项目java.lang.OutOfMemoryError PermGen space的解决方案

    java head space.txt

    以下的问题是由于java的堆内存已满,需要java运行时加大java的堆内存空间 2019-10-09 18:02:32.858 [http-nio-8239-exec-6] ERROR c.a.b.c.exceptionHandler.CodeBaseExceptionHandler:69 - Handler dispatch failed...

    Tomcat内存溢出的三种情况及解决办法分析

    这500M内存中的一部分必须用于系统dll的加载,那么真正剩下的也许只有400M,现在关键的地方出现了:当你使用Java创建一个线程,在JVM的内存里也会创建一个Thread对象,但是同时也会在操作系统里创建一个真正的物理...

    Tomcat性能优化.docx

    在较大型的应用项目中,默认的内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误“java.lang.OutOfMemoryError: Java heap space”,从而导致客户端显示500错误。

    linux解决Tomcat内存溢出的问题

    Tomcat本身不能直接在计算机上运行,需要依赖于操作系统和一个JAVA虚拟机。JAVA程序启动时JVM会分配一个初始内存和最大内存给程序。当程序需要的内存超出内存的最大值时虚拟机就会提示内存溢出,并且导致应用服务...

    zabbix监控tomcat(包含jvm监控)

    本文监控jvm内容如下:内存使用状态:堆内存(Heapmemory)和非堆内存(NoHeapmemory),包括已用值、最大值、已提交;堆内存内存池:新生代(edenspace),survivorspace,老年代(oldgen)的内存使用状态;非堆内存...

    一个JSP页面导致的tomcat内存溢出的解决方法

    但是用loadrunner压测了几分钟之后,分配了1024M堆内存的tomcat居然包heap space outofmemory!这个页面的代码如下: 代码如下: <%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″ ...

    一次OOM问题排查过程实战记录

    上周运维反馈线上程序出现了OOM,程序日志中的输出为 ...看线程名称应该是tomcat的nio工作线程,线程在处理程序的时候因为无法在堆中分配更多内存出现了OOM,幸好JVM启动参数配置了-XX:+HeapDumpOnOutOfMemoryE

Global site tag (gtag.js) - Google Analytics