`

GC 日志分析

    博客分类:
  • jvm
 
阅读更多

GC 日志分析

打印gc log的详细信息 
Java代码  收藏代码
  1. 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 新生代内容被提升到中生代。 


Java代码  收藏代码
  1. [Full GC 873087K->873087K(955648K), 4.1838200 secs]  
  2. [Full GC 873087K->871781K(955648K), 4.1683140 secs]  
  3. [Full GC 873087K->873087K(955648K), 4.2085010 secs]  
  4. [Full GC 873087K->872260K(955648K), 4.2084700 secs]  
  5. [Full GC 873081K->873081K(955648K), 4.2623640 secs]  
  6. [Full GC 873081K->872408K(955648K), 4.3412570 secs]  
  7. 2011-08-08 17:04:10,819 ERROR [com.koolearn.util.cache.AliMemCacheEngine.get(AliMemCacheEngine.java:164)] - <>  
  8. [Full GC 873087K->873087K(955648K), 4.3155510 secs]  
  9. [Full GC 873087K->872481K(955648K), 4.0971750 secs]  
  10. [Full GC 873087K->873087K(955648K), 4.1474260 secs]  
  11. [Full GC 873087K->872766K(955648K), 4.3128090 secs]  
  12. java.lang.OutOfMemoryError: Java heap space  
  13. [Full GC 873087K->873087K(955648K), 4.3855320 secs]  
  14. [Full GC 873087K->871522K(955648K), 4.2014260 secs]  
  15. [Full GC 871649K->871649K(955648K), 4.5445160 secs]  
  16. [Full GC 873087K->873087K(955648K), 4.3851440 secs]  
  17. [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor778]  
  18. [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor779]  
  19.  873087K->871942K(955648K), 4.1766480 secs]  
  20. [Full GC 873087K->872056K(955648K), 4.4511170 secs]  
  21. [Full GC 873087K->873087K(955648K), 4.3548710 secs]  
  22. [Full GC 873087K->872185K(955648K), 4.5506940 secs]  


Full GC 即全量GC,垃圾回收分小GC和Full GC。前者针对年轻代,后者针对年老代。FULL GC出现的很多有时候是因为你应用中2M以上的对象比较多。
分享到:
评论

相关推荐

    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日志显示内存使用持续增加,而...

    gc日志分析工具:gcviewer-1.37-SNAPSHOT.jar

    生成gc日志 jdk8 使用java -jar gcviewer-1.37-SNAPSHOT.jar 来运行

    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日志的开源...

    python分析JVM的GC日志

    使用Python分析JVM GC日志,通常可以分为以下步骤: 1. 数据获取:首先,需要从JVM中获取GC日志。可以通过设置JVM启动参数来生成GC日志文件,例如使用`-Xloggc:/path/to/gc.log`参数。 2. 数据清洗:得到原始GC...

    gchisto-1.0.1

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

Global site tag (gtag.js) - Google Analytics