解决方法:
源:http://www.blogjava.net/liuwentao253/archive/2008/06/03/205466.html
java.lang.OutOfMemoryError: Java heap space 解决方法
这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.
1.可以在windows 更改系统环境变量
加上JAVA_OPTS=-Xms64m -Xmx512m
2,如果用的tomcat,在windows下,可以在
C:\tomcat5.5.9\bin\catalina.bat 中加上:
set JAVA_OPTS=-Xms64m -Xmx256m
位置在: rem Guess CATALINA_HOME if not defined 这行的下面加合适.
3.如果是linux系统
Linux 在{tomcat_home}/bin/catalina.sh的前面,加
set JAVA_OPTS='-Xms64 -Xmx512'
java.lang.OutOfMemoryError: Java heap space
使用Java程序从数据库中查询大量的数据时出现异常:
java.lang.OutOfMemoryError: Java heap space
在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。
Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。
分享到:
相关推荐
根据描述中的内容,“Java heap space 解决方法,解决tomcat堆栈溢出问题”,我们可以推断出问题的根源在于Tomcat服务器在运行时出现了堆内存溢出的情况。 ##### 2. 解决方案 为了有效地解决这个问题,我们需要调整...
Java中的`java.lang.OutOfMemoryError`是一种常见的运行时错误,通常表示应用程序在尝试分配内存时遇到了问题。根据提供的信息,这个错误主要涉及到两个方面:`PermGen space`和`Java heap`,并且与Tomcat服务器相关...
以下的问题是由于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...
在Java应用服务器中,Tomcat是一个非常常见的轻量级选择,尤其在开发和部署Web应用程序时。然而,如同任何其他程序一样,Tomcat也可能遇到内存管理问题,导致内存溢出。"java.util.concurrent.ExecutionException: ...
Java内存不足PermGen space错误通常出现在Java程序运行过程中,尤其是当Java EE服务器(如Tomcat、JBoss等)加载WAR或EAR包时。这个错误的根本原因在于Java虚拟机(JVM)的永久代(Permanent Generation Space)内存...
在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代(Permanent Generation)空间不足,导致了...
本文将针对两种常见的Java内存溢出错误——`java.lang.OutOfMemoryError: PermGen space`和`java.lang.OutOfMemoryError: Java heap space`进行详细的分析和解决方案的探讨。 首先,我们来看`java.lang....
JVM管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永久保存区域)、Heap space(堆区域)和Java Stacks(Java栈)。其中,永久保存区域主要存放Class(类)和Meta的信息,Class第一次被...
当WEB-INF目录下的lib目录包含大量第三方jar包,且其总大小超过了JVM默认的 PermGen space 大小时,就可能出现上述错误。 解决 PermGen space 错误的常见方法有两种: 1. **手动调整MaxPermSize**: - 在Windows...
2. **Heap Space错误**:当堆内存不足时,会抛出`java.lang.OutOfMemoryError: Java heap space`异常。这是因为分配给JVM的堆内存太小,不足以支持当前应用的需求。可以通过增加`-Xmx`参数来设置最大堆内存大小。 #...
JAVA 内存溢出问题是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用的内存大于虚拟机能提供的最大内存。内存溢出问题可以从容器和程序类两个方面进行排查,容器问题可以调整容器参数来解决...
当Heap Space的使用达到一定阈值时,也会引发`java.lang.OutOfMemoryError: Java heap space`错误。 调整Heap Space的大小可以通过设置`-Xms`、`-Xmx`、`-XX:MaxNewSize`等参数实现。其中`-Xms`定义了JVM启动时分配...
Java内存溢出是指Java虚拟机(JVM)在执行过程中无法分配对象所需的内存,导致程序崩溃或无法继续运行的错误。Java内存溢出类型有多种,下面将详细介绍其中的四种类型。 1. java.lang.OutOfMemoryError: PermGen ...
在一个Web项目中,部署上线后,服务器在运行两天左右就会报内存溢出错误,具体错误信息如下: ``` java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError: Java heap space ``` 初步...
3. **Hibernate 映射配置文件异常**:当在映射文件中错误配置`outer-join`属性时,可能会导致内存溢出(heap space)异常。正确设置外连接加载策略以减少内存消耗是避免这类问题的关键。 4. **IOException: java.io...
Java虚拟机(JVM)在运行Java程序时,会分配不同的内存区域,包括堆空间(Heap Space)和永久代空间(PermGen Space)。这两个区域的设置不当可能导致内存溢出错误,影响程序的稳定性和效率。 1. **Java Heap Space...
- 通过访问特定功能时出现内存溢出现象,具体原因是SQL查询+业务逻辑问题导致分页查询失效。 - 业务逻辑每5秒更新一次数据,每次刷新时数据量太大,导致系统来不及回收垃圾,最终造成内存溢出。 #### 5. 内存泄漏...