`
mingren135
  • 浏览: 69258 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA-OutOfMemory异常

 
阅读更多


一、异常:GC overhead limit exceeded

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

1.解释:

JDK6新增错误类型,当GC为释放很小空间占用大量时间时抛出。一般是因为堆太小。导致异常的原因:没有足够的内存。

2.解决方案:

1)查看系统是否有使用大内存的代码或死循环。

2)可以添加JVM的启动参数来限制使用内存:-XX:-UseGCOverheadLimit

-----------

我遇到的情况是机器太老了,更换新的机器解决

 

 二、异常:Java heap space 

 java.lang.OutOfMemoryError: Java heap space 

分析:问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值,JAVA_OPTS=-Xms64m -Xmx512m。JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。

如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。Heap Size 最大不要超过可用物理内存的80%。生成环境一般要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

 

分享到:
评论

相关推荐

    Java Heap Cleaner:简单的函数清理,在运行时,Java堆内存,从而防止java OutOfMemory错误-matlab开发

    Java Heap Cleaner 是 Java 类的 MATLAB 包装器,可清除 Java 堆内存泄漏,防止臭名昭著的 Java OutOfMemory 异常。 Java 代码重新初始化一些负责内存泄漏的 JVM 类,然后强制进行垃圾回收。 重新初始化的 Java 类...

    Android避免内存溢出(Out of Memory)方法汇总

    当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 软引用:如果一个对象只具有软引用,但内存空间足够时,垃圾回收器就不会回收...

    java memcahe 客户端 2.6.1

    这次,Memcached Java Client推出的2.6.1发布版是...重新实现的连接池,修复了之前的连接数太多所导致的OutOfMemory异常; 加入了slf4j logger支持,使得开发人员可以方便的记录日志; 支持自定义的对象序列化方法。

    异步加载图片

    软引用实现图片的异步加载显示,这些引用 对象还能保证在Java 抛出OutOfMemory异常之前,被设置为null。他可以用于实现一些常用资源的缓存,实现Cache的功能,保证最大限度的使用内存而不引起 OutOfMemory异常。这是...

    Java内存管理之软引用

    另外,这些引用对象还能保证在Java 抛出OutOfMemory异常之前,被设置为null。他可以用于实现一些常用资源的缓存,实现Cache的功能,保证大限度的使用内存而不引起OutOfMemory异常。  下面是软引用的实现代码: ...

    内存泄漏处理.doc

    曾经使用JAVA开发大型系统的网友恐怕都有过这种体会:系统运行一段时间后就抛出out of memory 异常,然后是艰难的内存泄漏问题排查。在一个大型的JAVA系统中,内存泄露问题是最难查找和解决的问题之一。因为从异常...

    java8源码-jvm-study:jvm-study

    outOfMemory异常 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html 可以看jvm参数查看网址 Direct buffer memory : 直接内存太大(-XX:MaxDirectMemorySize=100m) Java heap space: 堆内存...

    Android相机拍照、截图功能的实例演示

     将保存在本地的图片取出并缩小后显示在界面上、由于Bitmap内存占用较大,这里需要回收内存,否则会报out of memory异常、将处理过的图片显示在界面上,并保存到本地、使用ContentProvider通过URI获取原始图片、为...

    java是去蜗牛还是源码时代-JVM-:JVM-

    如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。 Xss 是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时运行等。 以上三个...

    POI读写海量Excel(详细解读)

    对Excel的读取,POI有两种模式,一是用户模式,这种方式同Jxl的使用很类似,使用简单,都是将文件一次性读到内存,文件小的时候,没有什么问题,当文件大的时候,就会出现OutOfMemory的内存溢出问题。第二种是事件...

    jvm调优的一些相关参数

    应用出现OutOfMemory等内存异常,应用中有使用本地缓存且占用大量内存空间,系统吞吐量与响应性能不高或不降,Heap内存(老年代)持续上涨达到设置的最大内存值,Full GC 次数频繁。等有解决方法 JVM调优主要是针对...

    WordChainSolver

    词链求解器 单词链是一种简单的游戏,经常出现在报纸的游戏和拼图部分。 游戏的目的是通过每次更改单词的一个字母来从一个单词... 因此,计算和/或抛出 OutOfMemory 异常可能需要很长时间。 另外它会在 10 分钟后超时。

    浅析KJFrameForAndroid框架如何高效加载Bitmap

    我们编写的应用程序都是有一个最大内存限制,其中JAVA程序和C程序(NDK调用时)共享这一块内存大小,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。至于这个最大内存是多少,我们可以通过调用Runtime....

    ObjectPool:Android 对象池

    过度消耗堆内存会带来OutOfMemory异常和无数次遇到垃圾收集器(GC)。 GC会占用 UI 线程的宝贵时间,并且会导致丢弃 UI 帧,从而提供糟糕的用户体验。 通过重用防止触发GC 的已分配对象来解决该问题的常用方法之一...

    测试培训教材

    You can also view the system information that has been retrieved—such as CPU, memory, and processes running on the machine—and an image of the machine executing the system test. 6、测试用例设计、...

    ZendFramework中文文档

    9.4.6. Working with Fractions of Seconds 9.4.7. Sunrise / Sunset 9.5. Creation of dates 9.5.1. Create the actual date 9.5.2. Create a date from database 9.5.3. Create dates from an array 9.6. ...

    Oracle9i的init.ora参数中文说明

    值范围: Arabic Hijrah, English Hijrah, Gregorian, Japanese Imperial, Persian, ROC Official (Republic of China) 和 Thai Buddha。 默认值: Gregorian plsql_native_c_compiler: 说明: 指定用于将生成的 C ...

Global site tag (gtag.js) - Google Analytics