java.lang.OutOfMemoryError: Java heap space JVM内存设置
2009-01-11 20:52
627 查看
使用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”。
这个问题的根源是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'本文出自 51CTO.COM技术博客
相关文章推荐
- java.lang.OutOfMemoryError: Java heap space——Tomcat与eclipse的JVM内存大小设置
- java.lang.OutOfMemoryError: Java heap space JVM内存设置
- JVM内存不足的解决方法, java.lang.OutOfMemoryError: Java heap space
- jvm 内存溢出 在myeclipse中加大tomcat的jvm内存java.lang.OutOfMemoryError: Java heap space
- linux下的tomcat jvm内存:java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space 如何更改tomcat7及以上版本内存设置
- 设置JVM参数的几种方式解决java.lang.OutOfMemoryError:Java heap space
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- 运行的程序时,出现内存不足时的解决方式Exception in thread "main" java.lang.OutOfMemoryError: Java heap space(转)
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space 内存溢出解决方法
- 应用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap space)
- java.lang.OutOfMemoryError: Java heap space + myeclipse中分配tomcat启动时所占内存大小(转)
- java.lang.OutOfMemoryError: Java heap space + myeclipse中分配tomcat启动时所占内存大小
- 问题描述 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 解决方案[转] 一直都知道可以设置jvm he
- Eclipse 中设置JVM 内存(ava.lang.OutOfMemoryError: Java heap space异常)
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- [转]java.lang.OutOfMemoryError: Java heap space内存不足问题