`

GC 日志分析

 
阅读更多
打印gc log的详细信息
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -XX:+PrintGCDetails



引用
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError

如果真是内存泄漏,系统最终会抛OutOfMemory, 加这个-XX:+HeapDumpOnOutOfMemoryError (jdk1.5以上)可以得到heap dump. 这个dump纪录了所有在OutOfMemory时存在于内存中的对象。用普通的jhat之类的工具分析dump文件不够好。推荐使用SAP Memory Analyzer。用这个工具你可以比较快的定位原因。

gc日志分析
引用
[GC [DefNew: 35592K->1814K(36288K), 0.0326932 secs] 38508K->7792K(520256K), 0.0336419 secs]


第一个箭头:35592K->1814K(36288K),箭头指向的是新生段的内存占用情况;
第二个箭头:38508K->7792K(520256K),箭头指向的是回收后的内存占用情况。
圆括号中通常指的是当前申请的内存大小。

引用
[GC [<collector>: <starting occupancy1> -> <ending occupancy1>, <pause time1> secs] <starting occupancy3> -> <ending occupancy3>, <pause time3> secs]

<collector>GC收集器的名称

<starting occupancy1> 新生代在GC前占用的内存
<ending occupancy1> 新生代在GC后占用的内存
<pause time1> 新生代局部收集时jvm暂停处理的时间

<starting occupancy3> JVM Heap 在GC前占用的内存
<ending occupancy3> JVM Heap 在GC后占用的内存
<pause time3> GC过程中jvm暂停处理的总时间



如果回收总量相等,就表示100%的收回,没有任何新生代的对象被提升到中生代或者永久区。而本例中表示3062K没有被回收,即2062K 新生代内容被提升到中生代。


[Full GC 873087K->873087K(955648K), 4.1838200 secs]
[Full GC 873087K->871781K(955648K), 4.1683140 secs]
[Full GC 873087K->873087K(955648K), 4.2085010 secs]
[Full GC 873087K->872260K(955648K), 4.2084700 secs]
[Full GC 873081K->873081K(955648K), 4.2623640 secs]
[Full GC 873081K->872408K(955648K), 4.3412570 secs]
2011-08-08 17:04:10,819 ERROR [com.koolearn.util.cache.AliMemCacheEngine.get(AliMemCacheEngine.java:164)] - <>
[Full GC 873087K->873087K(955648K), 4.3155510 secs]
[Full GC 873087K->872481K(955648K), 4.0971750 secs]
[Full GC 873087K->873087K(955648K), 4.1474260 secs]
[Full GC 873087K->872766K(955648K), 4.3128090 secs]
java.lang.OutOfMemoryError: Java heap space
[Full GC 873087K->873087K(955648K), 4.3855320 secs]
[Full GC 873087K->871522K(955648K), 4.2014260 secs]
[Full GC 871649K->871649K(955648K), 4.5445160 secs]
[Full GC 873087K->873087K(955648K), 4.3851440 secs]
[Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor778]
[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor779]
 873087K->871942K(955648K), 4.1766480 secs]
[Full GC 873087K->872056K(955648K), 4.4511170 secs]
[Full GC 873087K->873087K(955648K), 4.3548710 secs]
[Full GC 873087K->872185K(955648K), 4.5506940 secs]


Full GC 即全量GC,垃圾回收分小GC和Full GC。前者针对年轻代,后者针对年老代。FULL GC出现的很多有时候是因为你应用中2M以上的对象比较多。
  • 大小: 65.8 KB
  • 大小: 22.9 KB
分享到:
评论
2 楼 harbey 2013-09-24  
哦,原来是“HEAP回收数量” - “新生代回收数” 即 30716 - 33778 = 3062。HEAP包括新生代和老生代,故3062跑到老生代了。
1 楼 harbey 2013-09-24  
而本例中表示3062K没有被回收,即2062K 新生代内容被提升到中生代。


这个数据怎么来的啊?

相关推荐

    IBM-GC日志分析工具

    IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具IBM gc 日志分析工具

    GChisto GC日志分析工具

    **GChisto GC日志分析工具** 在Java应用程序中,垃圾收集(Garbage Collection, GC)是自动管理内存的关键组成部分。然而,理解GC的工作方式以及它如何影响应用性能可能是一项复杂的任务。这就是GChisto这样的工具...

    jvmgc日志分析工具

    GC日志分析工具是用来理解和优化JVM内存管理的重要工具。"jvmgc日志分析工具"专为解析和可视化JVM生成的GC日志而设计,帮助开发者识别内存瓶颈,调整内存设置,以及诊断可能的性能问题。 GC日志是JVM在运行过程中...

    日志分析-gc日志分析

    日志分析类项目,对gc日志的分析,得出最优的系统优化方案

    Tomcat gclog日志分析工具HPjmeter

    对tomcat的gclog日志进行分析,进行可视化展示,可以查看一些配置参数,检查是否软件是否运行正常

    Java虚拟机GC日志分析

    Java虚拟机GC日志分析 Java虚拟机GC日志分析是Java开发者不可或缺的一项技能,通过对GC日志的分析,可以了解Java虚拟机中的内存使用情况,避免内存溢出和性能问题。本文将对Java虚拟机GC日志分析进行详细的介绍,并...

    gchisto分析工具

    《gchisto:GC日志分析与可视化利器》 在Java世界中,内存管理是至关重要的,特别是垃圾收集(Garbage Collection, GC)的过程。为了优化应用性能,开发者需要深入理解GC的行为。gchisto是一款强大的GC日志分析工具...

    ga16.zip-分析GC日志native_stderr.log(可分析WAS6.1版本)

    **GC日志分析的重要性:** 1. **性能优化**:通过分析GC日志,可以识别出频繁的垃圾收集事件,这可能是导致应用响应时间变慢或系统暂停时间过长的原因。 2. **内存泄漏检测**:如果GC日志显示内存使用持续增加,而...

    JAVA gc日志分析工具GChisto及CMS GC补丁

    GChisto及CMS GC相应补丁文件,补丁文件未亲测。 This patch adds the following features and improvements when using CMS GC in incremental mode: detecting Full GCs corrected parsing errors when using -XX:...

    IBM日志分析工具

    通过熟练掌握GC日志分析、heapDump分析和javaCore日志分析,我们可以更好地调试、优化和维护IBM环境中的应用程序。同时,理解并运用高可用性和线程分析的原理,也能进一步提升系统的可靠性和响应速度。

    GChisto和gcviewer

    GC日志分析工具则可以帮助开发者理解JVM内部的垃圾回收行为,优化应用程序性能。GChisto和GCViewer是两个常用的Java GC日志分析工具,它们能够提供深入的洞察力,帮助我们识别潜在的内存泄漏问题,调整垃圾收集器...

    GChistoGC日志分析工具

    这时,GC日志分析工具就显得尤为必要。GChisto正是这样一款专门用于分析Java虚拟机(JVM)GC日志的专业工具。 GChisto是一款强大的开源工具,设计目标是帮助开发者和运维人员深入理解JVM的内存使用情况,尤其是针对...

    gcview 容错性较hpjmeter强的jvm gc日志分析工具

    虽然功能叫hpjmeter简单,界面也不咋地 不过容错性要比hpjmeter强很多,虽然快照中所有性能指标都挤在一起,但是很直观 总体来说比较强悍,特收金币一枚...

    gcviewer监控gc工具

    总之,GCViewer作为一款强大的GC日志分析工具,为Java开发者提供了直观、详尽的内存管理视图,对于提升应用性能和稳定性起到了关键作用。熟练掌握其使用方法,能够有效提升Java应用的健壮性和效率。

    thread-gc-分析.7z

    例如,JVisualVM提供线程监控和GC日志分析功能,JConsole则可以实时查看JVM的各种指标。更深入的分析可能需要借助JFR(Java Flight Recorder)和JMC(Java Mission Control),这些工具能记录详细的运行时数据,帮助...

    gchisto:GC日志分析工具,网上不容易找到原始码,这里备份一个。不确定工具是否正确,不确定是否有时间研究

    《gchisto:GC日志分析工具的探索与解析》 在Java开发中,垃圾收集(Garbage Collection, GC)是内存管理的重要组成部分,而理解GC的行为对于优化应用程序性能至关重要。gchisto是一款用于分析Java GC日志的开源...

    gchisto-1.0.1

    《gchisto-1.0.1:便捷的Java GC日志分析工具》 在Java应用程序的性能优化中,垃圾收集(Garbage Collection, GC)是至关重要的环节。GC负责自动管理内存,确保程序的正常运行,但过度的或者不合理的GC活动可能导致...

    gclog+gcviewer.zip

    然后,我们引入了GCViewer工具,这是一个图形化的GC日志分析工具,由Chris Newland开发。GCViewer可以从GC日志中提取数据,并以直观的方式展示出来,帮助我们更好地理解GC的行为模式。要使用GCViewer,首先确保你的...

    gcviewer-1.29-bin.zip

    《GCViewer:深入解析Java GC日志分析利器》 在Java开发中,内存管理是至关重要的,特别是垃圾收集(Garbage Collection, GC)的过程。为了优化应用性能,开发者需要理解并监控GC的行为。这时,一款名为GCViewer的...

Global site tag (gtag.js) - Google Analytics