`
ljz0898
  • 浏览: 227447 次
  • 性别: Icon_minigender_1
  • 来自: 海南海口
社区版块
存档分类
最新评论

eclipse中调试jvm内存溢出

阅读更多
http://www.blogjava.net/rosen/archive/2010/06/13/323522.html

是的,上面构造了很多的Pilot类实例,向数组和map中放。由于是Strong Ref,GC自然不会回收这些对象,一直放在heap中直到溢出。当然在运行前,先要在Eclipse中配置VM参数-XX:+HeapDumpOnOutOfMemoryError。好了,一会儿功夫内存溢出,控制台打出如下信息。



好文章:
http://tivan.iteye.com/blog/1487855


监控cpu的好工具
http://www.oschina.net/p/jvm-monitor?from=rss



结论:“永久存储区溢出(java.lang.OutOfMemoryError:Java Permanent Space)”乃是永久存储区设置太小,不能满足系统需要的大小,此时只需要调整-XX:PermSize 和-XX:MaxPermSize 这两个参数即可。“JVM 堆空间溢出(java.lang.OutOfMemoryError: Java heap space)”错误是JVM 堆空间不足,此时只需要调整-Xms 和-Xmx 这两个参数即可。






1. java.lang.OutOfMemoryError: Java heap space----JVM Heap(堆)溢出
JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
  可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。
  在JVM中如果98%的时间是用于GC,且可用的Heap size 不足2%的时候将抛出此异常信息。
  解决方法:手动设置JVM Heap(堆)的大小。
  
  2. java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。
  为什么会内存溢出,这是由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,sun的 GC不会在主程序运行期对PermGen space进行清理,所以如果你的APP会载入很多CLASS的话,就很可能出现PermGen space溢出。
  解决方法: 手动设置MaxPermSize大小 s


参考文章:http://energykey.iteye.com/blog/505588
http://blog.csdn.net/happyitlife/article/details/7291182

记录一下opensessioninview的文字
http://blog.sina.com.cn/s/blog_5dc12c490100crr5.html
分享到:
评论

相关推荐

    eclipse内存溢出的解决办法.txt

    在使用Eclipse开发工具的过程中,经常会出现“内存溢出”(Out of Memory Error)的问题,这主要是由于Eclipse运行时所分配的内存不足导致的。当出现这种情况时,不仅会影响开发效率,还可能造成项目的延误。本文将...

    eclipse内存溢出处理

    ### 二、Eclipse中内存溢出的表现 在Eclipse中,内存溢出通常表现为IDE突然卡顿或崩溃,错误提示信息中可能包含“OutOfMemoryError”。具体而言,当Eclipse加载过多的类或资源,或是运行大型项目时,如果JVM的内存...

    myeclipse内存溢出问题

    为了更好地理解并解决MyEclipse中的内存溢出问题,首先需要对JVM的内存管理机制有所了解: 1. **堆内存(Heap)**:这是JVM用来存储对象实例和数组的主要区域。当一个类被加载到JVM中时,它的实例将在这个区域分配...

    java excel导出tomcat内存溢出处理方法

    #### 四、在Eclipse调试模式下调整JVM参数 在Eclipse中调试Java程序时,如果遇到内存溢出问题,可以通过调整运行配置来解决。 1. 在Eclipse中,选择**Run -> Run Configurations... -> JUnit**。 2. 选中要调试的...

    myeclipse内存溢出解决方法

    在使用MyEclipse进行开发时,可能会遇到内存溢出(Out Of Memory,OOM)的问题,这通常是由于程序运行过程中消耗的内存超过了系统分配的最大内存限额所导致的。内存溢出会严重影响开发效率,甚至导致软件崩溃。以下...

    设置Eclipse内存参数

    通过以上步骤,我们可以有效地解决Eclipse在运行或调试过程中出现的内存溢出问题。需要注意的是,具体的内存大小设置应根据项目的规模和个人计算机的硬件配置来进行调整。此外,随着Java版本的更新,某些参数的名称...

    eclipse内存优化

    然而,由于Eclipse本身较为复杂的功能和架构,它可能会消耗大量的内存资源,尤其是在处理大型项目或进行深度调试时。因此,对Eclipse进行内存优化是一项必要的工作,以防止内存溢出等问题,从而提升其运行效率和稳定...

    tomcat 热部署 hot deploy Jrebel 加大JVM内存

    标题 "Tomcat 热部署 Hot Deploy Jrebel 加大JVM内存" 涉及的是在Java开发环境中,如何实现应用服务器Tomcat的热部署功能,并通过Jrebel工具提高开发效率,以及如何调整JVM内存配置以优化运行性能。 热部署(Hot ...

    eclipse中开发调试android源项目

    由于Android项目较大,可能导致Eclipse中的JVM内存不足,因此需要调整内存设置。 - **修改eclipse.ini**:在Eclipse的安装目录下找到`eclipse.ini`文件,修改其中的内存参数。 - **增加初始内存**:将`-Xms`参数从...

    jvm工具、参数调优&调试技巧

    - `-XX:+HeapDumpOnOutOfMemoryError`:在出现内存溢出时生成堆转储文件。 4. **启动参数** - `-classpath <path>`:指定类路径。 - `-Xbootclasspath <path>`:指定引导类路径。 #### 三、调试技巧 ##### 1. ...

    JAVA内存溢出解决方案图解

    - 在Eclipse的Run -> Debug Configurations中,可以针对特定的调试配置设置内存参数,例如,添加: ``` -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m ``` 以上修改是为了给Java虚拟机提供更多的...

    jvm工具、参数调优&调试技巧.doc

    在Java开发过程中,JVM(Java Virtual Machine)的性能优化和调试是至关重要的。了解并掌握JVM工具和参数调优技巧,可以帮助我们提升应用程序的性能,减少内存泄漏,优化资源利用,以及解决运行时问题。以下将详细...

    Eclipse中文简单教程

    - 内存配置:根据项目大小调整JVM内存分配,避免启动缓慢或内存溢出。 10. **学习资源** - Eclipse官方文档:提供详细的API参考和用户指南。 - 社区论坛:如Eclipse Community Forum,解答问题和交流经验。 - ...

    java内存管理精彩概述

    - **非堆内存溢出**:包括方法区和JVM内部处理所需的内存不足时。 - **本地内存溢出**:操作系统管理的虚拟内存不足时。 9. **内存泄漏** 内存泄漏是指对象不再使用但仍然保持引用,导致无法被GC回收。常见的...

    Eclipse开发环境搭建

    这些参数分别设置了Java虚拟机(JVM)的初始堆大小、最大堆大小、持久代的初始大小和最大大小,有助于防止内存溢出并提高性能。 在进行Java开发时,有时可能会遇到编译错误。解决这些问题通常需要调整Eclipse的...

    整理-JVM相关面试题2024

    - **定义**:当JVM无法为新对象分配足够的内存空间时,就会发生内存溢出错误。这通常发生在堆内存不足的情况下。 #### 4.1 什么是内存泄漏? - **定义**:内存泄漏指的是程序中不再使用的对象未能及时被垃圾回收器...

    JVM面试专题.pdf

    Java虚拟机(JVM)是Java程序运行的基础,它的内存模型和垃圾收集机制对于程序的性能至...理解JVM内存模型和垃圾收集机制对于解决内存溢出、提高程序性能、优化内存分配等方面具有重要意义,是Java开发者必备的知识点。

    JVM面试专题及答案.pdf

    JVM(Java Virtual Machine)是Java程序运行...理解JVM内存管理有助于优化Java程序性能,避免内存溢出和内存泄漏问题。在实际项目开发中,合理配置JVM参数、选择合适的垃圾收集器以及理解内存分配策略都是至关重要的。

    eclipse-java-mars-2-win32-x86_64(64位)

    2. **内存溢出**:增加 JVM 参数 `-Xmx` 来提高最大可用内存。 3. **Maven 同步问题**:检查网络连接;确认 Maven 配置正确无误;使用 `Project > Maven > Update Project` 强制更新项目。 综上所述,Eclipse Java ...

    系统内存不足引起异常的解决方法

    例如,可以在Eclipse的配置文件`eclipse.ini`中设置`-vmargs -Xms500m -Xmx1024m`,但需要注意的是这种方式可能不会立即生效,需要在运行或调试程序时单独设置。 - **运行时设置**:对于特定的项目或类,可以通过...

Global site tag (gtag.js) - Google Analytics