`
wanxiaotao12
  • 浏览: 467836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GC 日志分析

    博客分类:
  • JVM
 
阅读更多

转自:http://coderbee.net/index.php/jvm/20131216/646

 

不同的JVM及其选项会输出不同的日志。

GC 日志

生成下面日志使用的选项:-XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:d:/GClogs/tomcat6-gc.log

4.231: [GC 4.231: [DefNew: 4928K->512K(4928K), 0.0044047 secs] 6835K->3468K(15872K), 0.0045291 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
 
4.445: [Full GC (System) 4.445: [Tenured: 2956K->3043K(10944K), 0.1869806 secs] 4034K->3043K(15872K), [Perm : 3400K->3400K(12288K)], 0.1870847 secs] [Times: user=0.05 sys=0.00, real=0.19 secs] 

最前面的数字 4.231 和 4.445 代表虚拟机启动以来的秒数。

[GC 和 [Full GC 是垃圾回收的停顿类型,而不是区分是新生代还是年老代,如果有 Full 说明发生了Stop-The-World 。如果是调用 System.gc() 触发的,那么将显示的是 [Full GC (System) 。

接下来的 [DefNew[Tenured[Perm 表示 GC 发生的区域,区域的名称与使用的 GC 收集器相关。 Serial 收集器中新生代名为 "Default New Generation",显示的名字为 "[DefNew"。对于ParNew收集器,显示的是 "[ParNew",表示 “Parallel New Generation”。 对于 Parallel Scavenge 收集器,新生代名为 "PSYoungGen"。年老代和永久代也相同,名称都由收集器决定。

方括号内部显示的 “4928K->512K(4928K)” 表示 “GC 前该区域已使用容量 -> GC 后该区域已使用容量 (该区域内存总容量) ”。

再往后的 “0.0044047 secs” 表示该区域GC所用时间,单位是秒。

再往后的 “6835K->3468K(15872K)” 表示 “GC 前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆总容量)”。

再往后的 “0.0045291 secs” 是Java堆GC所用的总时间。

最后的 “[Times: user=0.00 sys=0.00, real=0.00 secs]” 分别代表 用户态消耗的CPU时间、内核态消耗的CPU时间 和 操作从开始到结束所经过的墙钟时间。墙钟时间包括各种非运算的等待耗时,如IO等待、线程阻塞。CPU时间不包括等待时间,当系统有多核时,多线程操作会叠加这些CPU时间,所以user或sys时间会超过real时间。

堆的分代

JVM-heap-generations

在上图中:

  • young区域就是新生代,存放新创建对象;
  • tenured是年老代,存放在新生代经历多次垃圾回收后仍存活的对象;
  • perm是永生代,存放类定义信息、元数据等信息。

当GC发生在新生代时,称为Minor GC,次收集;当GC发生在年老代时,称为Major GC,主收集。 一般的,Minor GC的发生频率要比Major GC高很多。

分享到:
评论

相关推荐

    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日志分析工具...

    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:...

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

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

    GChisto和gcviewer

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

    IBM日志分析工具

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

    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