java.lang.OutOfMemoryError: Java heap space 的处理办法
2016-05-18 12:03
507 查看
1.基本知识:JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置。
JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选 项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
2.报此种异常的前提:在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
3.配置原则: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”。
4.案例一:
遇到TOMCAT出错:java.lang.OutOfMemoryError: Java heap space,于是查了资料,找到了解决方法:
If Java runs out of memory, the following error occurs:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Java heap size can be increased as follows:
java -Xms<initial heap size> -Xmx<maximum heap size>
Defaults are:
java -Xms32m -Xmx128m
如果你用win
/tomcat/bin/catalina.bat 加上下面的命令:
set JAVA_OPTS=-Xms32m -Xmx256m
如果你用unix/linux
/tomcat/bin/catalina.sh 加上下面的命令:
JAVA_OPTS="-Xms32m -Xmx256m"
=========================================
JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选 项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
2.报此种异常的前提:在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。
3.配置原则: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”。
4.案例一:
遇到TOMCAT出错:java.lang.OutOfMemoryError: Java heap space,于是查了资料,找到了解决方法:
If Java runs out of memory, the following error occurs:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Java heap size can be increased as follows:
java -Xms<initial heap size> -Xmx<maximum heap size>
Defaults are:
java -Xms32m -Xmx128m
如果你用win
/tomcat/bin/catalina.bat 加上下面的命令:
set JAVA_OPTS=-Xms32m -Xmx256m
如果你用unix/linux
/tomcat/bin/catalina.sh 加上下面的命令:
JAVA_OPTS="-Xms32m -Xmx256m"
=========================================
相关文章推荐
- Java异常
- Java语法糖4:内部类
- 《JAVA语言程序设计》(四)|JAVA 获得当前系统时间
- java回调中点获取service对象
- Java语法糖3:泛型
- Java语法糖2:自动装箱和自动拆箱
- Java语法糖1:可变长度参数以及foreach循环原理
- 利用java求积分(定积分和无穷限积分)
- java学习个人笔记---finally模块的陷阱
- 如何捕获java线程中的逃逸的异常
- java ArrayList与LinkedList 使用for,forearch,Iterator的遍历效率
- eclipse adt 搭建gradle的一些问题
- Java 字符流读取数据
- java基础重点: 面向对象,
- JAVA设计模式之抽象工厂模式
- Lambda真的挺好玩的
- LuceneTestCase Junit测试出现严重: Panic: RunListener hook shouldn't throw exceptions. java.lang.NullPointe
- 【异常处理】java.lang.NoClassDefFoundError
- Java中的继承与组合
- jdbc pool java连接池技术