- 浏览: 32212 次
- 性别:
- 来自: 上海
最新评论
使用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'\
from
http://zhidao.baidu.com/question/52833006.html
在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'\
from
http://zhidao.baidu.com/question/52833006.html
发表评论
-
密码交换信息文件格式
2014-08-08 22:13 366DER-encoded certificate: .cer ... -
java xml
2013-10-22 13:03 618package com.lifz.server; imp ... -
java jar 发布 读取properties文件失败
2013-09-02 23:12 2439(1)java jar 发布 读取proper ... -
java jvm 参数
2013-07-12 23:27 416java jvm 参数 -Xms -Xmx -Xmn ... -
查找和删除重复记录
2013-06-14 08:28 460在几千条记录里,存在着些相同的记录,如何能用SQL语句 ... -
网站错误代码
2013-06-09 15:39 564[u][/u]HTTP 1xx-信息提示 这些状态代码表示临 ... -
socket 转发
2013-06-08 10:46 565两个socket的转发。 -
java环境变量
2013-06-05 14:43 0JAVA_HOME=C:\Program Files (x86 ... -
毕业流逝时间
2013-04-28 23:32 0<!DOCTYPE HTML PUBLIC &quo ... -
eclipse 快捷键
2013-04-19 16:57 01、ctrl+w 关闭当前文件 2、alt+左箭头 打开刚 ... -
java 类的初始化顺序
2013-03-24 21:09 500public class FatherClass { ... -
java只有值传递
2013-03-23 23:22 577值传递就是值参数只能有实参传给形参, 而不能由形参来改变实参. ... -
吸血鬼数字
2013-03-06 21:27 523package com.lifz.chapters4; ... -
java 看别人代码
2013-03-04 14:28 01)无从下手:先看接口,先看整体接口框架,再看细节,这时UML ... -
java 保留两位小数
2013-03-03 10:29 615public class BigDecimalTest { ... -
java work
2013-02-20 12:34 0java开发具备 1.2年以上工作经验,至少1个以上后台项 ... -
java 学习方法
2013-02-19 16:10 01 网上查找别人的易错总结 -
java 易错
2013-02-19 13:32 611对于正数 先按位取反(包括符号位) ,再求补 对于负数 先 ... -
java zip压缩多个文件
2012-12-23 21:19 1145import java.io.BufferedInpu ... -
java 执行 cmd 命令
2012-12-23 14:59 831写道 import java.io.Buffere ...
相关推荐
java解决nested exception is java.lang.OutOfMemoryError Java heap space 解决OOM
IBM开发的强大的内存dump分析工具,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到可能泄露的点,这是IBM官方的工具,它对堆栈调用做了可视化的转换,可以更直观地看到调用关系...
IBMHeapAnalyzer是一个非常重要的JAVA程序bug分析工具。它可以帮助我们分析哪些原因可能导致了程序的内存溢出...IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点。
IBM开发的强大的内存dump分析工具,,IBM heapAnalyzer是通过分析OOM后的Java heap dump文件的,通过对dump文件的分析找到内存可能泄露的点
Java OOM分析工具,Linux下使用jmap -heap:format=b pid,导出发生OOM进程的内存快照,使用该工具分析OOM发生原因
主要用于分析oom产生的日志;可以用于离线分析;完全脱离原有程序
Android编译gradle.properties文件及说明, 解决Android gradle编译错误OOM:java heap space
Exception in thread http-nio-8080-exec-1027 java.lang.OutOfMemoryError: Java heap space Exception in thread http-nio-8080-exec-1031 java.lang.OutOfMemoryError: Java heap space 看线程名称应该是tomcat的...
implementation ' com.kwai.koom:java-oom:1.0.7 ' } 快速教程 您可以在要启动内存监视时立即设置KOOM,在应用程序启动时进行设置,您可以像这样: public class KOOMApplication extends Applicat
对于Android开发者来说虽然使用了可以自动管理内存的Java语言,但是对于内存管理不当,可能你的应用不断出现类似INFO/dalvikvm-heap(10798): Grow heap (frag case) to 6.437MB for 1114126-byte allocation,而出现...
4. 运行时数据区 ...4.1 堆 (heap) 堆在虚拟机中是一块共享区域, ...java.lang.OutOfMemoryError: Java heap space 代码演示 /** * 演示堆溢出 * 设置堆 大小为:-Xms10m -Xmx10m */ public class HeapDemo { privat
什么是OOM,什么是栈溢出StackOVerFlowError? 怎么分析 JVM的常用调优参数有哪些 内存快照如何抓取,怎么分析Dump文件?知道吗? 谈谈JVM中,类加载器你的认识? rt-jar ext application 1、JVM的位置 2、JVM的体系...
2、基于代码排查OOM问题,拒绝空讲; 3、总结JVM通用的调优思路; 4、基础知识讲解透彻、详尽; 5、JVM零基础也能听懂。 第一节:学习JVM的意义和目标 1.1 意义: 1.2 目标: 第二节:JVM内存模型 1.1 概念 1.2 ...
Java里会将这块空间分成Stack栈内存和Heap堆内存。stack里存放对象的引用,heap里存放实际对象数据。 在程序运行中会创建对象,如果未合理管理内存,比如不及时回收无效空间就会造成内存泄露,严重的话可能导致使用...
Java是垃圾回收语言的一种,其优点是开发者无需特意管理内存分配,降低了应用由于局部故障(segmentation fault)导致崩溃,同时防止未释放的内存把堆栈(heap)挤爆的可能,所以写出来的代码更为安全。 不幸的是,在...
Java是垃圾回收语言的一种,其优点是开发者无需特意管理内存分配,降低了应用由于局部故障(segmentationfault)导致崩溃,同时防止未释放的内存把堆栈(heap)挤爆的可能,所以写出来的代码更为安全。不幸的是,在Java...
严重的时候可能会导致内存溢出错误,即 OOM Error 下面我们从基础说起 基础知识 Java 的内存分配简述 方法区(non-heap):编译时就分配好,在程序整个运行期间都存在。它主要存放静态数据和常量; 栈区:当...