0 0

JVM监控发现Eden区在不停的增长,然后触发一次minor gc,然后又开始增长45

如题,不知道是哪些对象在增长,有没有好的分析方法?
JVM 
2013年5月23日 14:54

7个答案 按时间排序 按投票排序

0 0

你好 现在知道是什么原因了么?

2015年10月12日 20:10
0 0

我跟楼主有同样的疑惑,我启动tomcat后(当然tomcat中有我的应用),然后什么都没有做,也没有开启访问线程,通过visualvm看到Eden区不断的增长,等到达到它的阀值时即触发minor GC,Eden区大家都知道是存放朝生夕死的对象,很容易被回收,勿容置疑,但现在的问题是在不开启任何线程的情况下,为什么它会不断的增长呢?难道真的像楼上所说,Eden区总是要不断增长的?希望有这方面的高手能帮忙解惑.

2013年7月22日 15:36
0 0

楼主你好,Eden区就是用来存放新创建的对象的,经过minor Gc之后,会把存活的对象放到其Survior区中,再经过几次minor Gc后存活的对象会被放到Old区。所以总体来说Eden总是会不断增长的,并不断的minor Gc,当然可以通过增大Eden区的大小来减少minor Gc的次数。Full Gc相对来说更影响程序的性能。因为其执行时程序会暂停。要分析的话可以通过jdk 1.6的jvisualVm,安装其插件Virsual GC,可以很清楚的观察到各个区的情况。

2013年5月24日 10:21
0 0

eden不增长 就不叫垃圾回收算法了  

2013年5月24日 10:10
0 0

正常现象

不放心你dump heap 出来看看。

2013年5月23日 19:57
0 0

以下描述以xp系统下eclipse下启动的java类为例:
进入jdk安装目录---C:\Program Files\Java\jdk1.6.0_11\bin,打开jconsole.exe,vm摘要选项卡,连接名称为pid: 6920 com.zyn.EmbededTomcat
,进入cmd命令窗口, C:\Documents and Settings\Administrator\jmap -dump:format=b,file=eclipse.bin 6920   ,6920为java进程的pid,回车,显示heap dump file created后再命令行窗口键入:C:\Documents and Settings\Administrator\jhat eclipse.bin ,显示Server is ready后,打开浏览器,输入http://localhost:7000后就可以看到分析日志了,拉到页尾,点击Other Queries标题下的Show instance counts for all classes (including platform) ,
Show instance counts for all classes (excluding platform) 两个连接可以看到jvm中所有类的数目,点击 Execute Object Query Language (OQL) query 可以根据OQL语言来查询自己想要的信息。

2013年5月23日 19:47
0 0

用jprofiler来监控一下吧

2013年5月23日 16:22

相关推荐

    Jvm1.8_GC.mmap

    第一次触发gc时,Eden存活的对象被复制到Survivor Space的To区。每次gc完成后,Eden和From区的数据被清空,用于存放新的数据,且Survivor Space的2个区域地位对调,原来的From区成为To区,原来的To区变成From区,...

    深入理解JVM&G1; GC

    当Eden区满时,会触发Minor GC,将存活对象晋升到Survivor区,经过多次Minor GC后仍然存活的对象会被转移到老年代。老年代则存放长期存活的对象,当其空间不足时,会触发Major GC或Full GC。元空间是Java 8引入的新...

    jvm 参数及gc详解

    当Eden区满时,会触发Minor GC,存活下来的对象会被移动到Survivor区。 2. 老年代GC(Major GC 或 Full GC) 老年代GC处理的是长期存活的对象,使用标记-整理或标记-压缩算法。当老年代空间不足或系统请求Full GC...

    JVM垃圾回收机制与GC性能调优

    新生成的对象首先分配在Eden区,当Eden空间不足时,GC启动Minor GC,将存活的对象复制到Survivor空间,然后清理Eden。在多次GC循环后,幸存下来的对象将被晋升到旧域。 新域采用复制算法,其设计目的是减少内存碎片...

    jvm gc

    大部分对象在Eden区被创建,经过一次GC后,存活的对象会被移到Survivor区,然后再经过几次GC仍然存活的对象会被晋升到老年代。 2. **老年代(Tenured Generation)**:老年代用于存储生命周期较长的对象。当新生代...

    JVM_GC调优

    - 新创建的对象首先在Eden空间分配,经过一次或多次GC后仍然存活的对象会被转移到Survivor空间或老年代。 - 这种设计基于观察结果:大多数对象很快就会死亡,只有少数会长期存活。 2. **GC类型** - Minor GC:...

    思维导图-详细了解JVM和GC过程

    当Eden区满时,会触发Minor GC,将存活的对象复制到Survivor区,无法容纳的直接晋升到老年代。 - **老年代GC**:当老年代空间不足时,会触发Major GC,清理整个老年代。 - **全堆GC**:包括新生代和老年代的全部...

    JVM_GC_-调优总结.pdf

    ### JVM_GC_调优总结 #### 一、GC(Garbage Collection)概述 **1.1 GC的概念** - **定义**: GC(Garbage Collection),即垃圾收集器,用于跟踪内存中的对象,并自动回收那些不再被其他对象引用的对象,释放这...

    03-VIP-JVM内存分配机制与垃圾回收算法1

    如果Eden区的空间不足以容纳新创建的对象,JVM会触发Minor GC,清理Eden区不再使用的对象。在这个过程中,幸存下来的对象将被移动到Survivor区(通常包括From Space和To Space)。 2. **大对象直接进入老年代** 大...

    jvm_gc.rar_jvm_垃圾回收

    当Eden区满时,会触发Minor GC,将存活的对象移到另一个Survivor区或直接晋升到老年代。 2. **Major GC / Full GC**:针对老年代的垃圾回收,通常在老年代空间不足时发生。Full GC会清理整个堆内存,包括年轻代和老...

    jvm-full-gc.zip

    全GC(Full GC)是JVM进行垃圾回收的一种模式,主要涉及堆内存(包括年轻代和老年代)以及方法区的清理。它通常会在以下几种情况下触发: 1. 年轻代空间不足,晋升到老年代的对象数量超过阈值,导致 Minor GC 后仍然...

    JVM垃圾回收及监控优化1

    当Eden区空间不足时,会触发Minor GC。相反,Full GC涉及整个堆(包括新生代和老年代),通常在老年代空间不足或系统需要彻底清理时触发,其执行速度相对较慢。 HotSpot JVM提供了多种垃圾收集器,如Serial、...

    JVM-内存管理 2012-12.pdf

    对象通常在Java堆的新生代的Eden区创建,当Eden区空间不足时,会触发一次Minor GC(年轻代垃圾收集),将Eden区和From Survivor区存活的对象复制到To Survivor区,并清空Eden区和From Survivor区。如果对象经过多次 ...

    JVM常见面试题解析.pdf

    对象晋升到老年代的条件通常是:在Eden出生并经历一次Minor GC后存活,或者直接是大对象,或者年龄达到阈值(默认15),这可以通过-XX:MaxTenuringThreshold设置。 理解JVM内存管理和垃圾收集机制对于优化Java应用...

    JVM中[堆]的所有内容-pdf

    当Eden区满时,会触发Minor Garbage Collection(Minor GC,也称为Young GC),存活下来的对象会被移动到Survivor区。如果对象在多次Minor GC后仍然存活,它们会被晋升到老年代。默认情况下,年轻代和老年代的默认...

    Sun Hotspot V1.6.0 JVM GC PPT.pdf

    - **分配内存时Eden区不足**:当Eden区空间不足以分配新对象时,会触发一次新生代GC。 - **全量GC前**:默认情况下,在进行全量GC之前,会先进行一次新生代GC。 ##### 4.2 对象晋升机制 - **经历多次Minor GC后...

    jvm paper jvm

    大部分对象在Eden区创建,经历Minor GC后存活的对象会被转移到Survivor区。 3. 老年代(Old Generation):长期存活的对象进入老年代,当老年代空间不足时触发Major GC(Full GC)。 4. 方法区(Method Area):存储...

    【IT十八掌徐培成】Java基础第26天-02.jvm-young gen-old gen-eden-sur-jvisualvm-jconsole.zip

    新生代又进一步细分为Eden区和两个Survivor区(From Space和To Space),大多数对象首先在Eden区分配内存,经历第一次GC后,存活下来的对象会被移动到Survivor区,反复几次后仍未被销毁的对象将晋升至老年代。...

    jvm参数设置

    - **Minor GC**:当年轻代中的eden区空间不足时触发,主要回收年轻代中的对象。 - **Full GC**:当老年代空间不足或者系统检测到内存压力过大时触发,会清理整个堆内存,包括年轻代和老年代。 GC策略的选择和配置...

Global site tag (gtag.js) - Google Analytics