`
rensanning
  • 浏览: 3548657 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38147
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607311
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682333
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89355
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401851
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69694
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91723
社区版块
存档分类
最新评论

GC日志分析

    博客分类:
  • Java
 
阅读更多
GC:Garbage Collection 垃圾回收

(1)GC种类:
Scavenge GC 和 Full GC

选择合适的GC收集器(串行、并行、并发)、调整JVM heap的大小、调整young generation的比重。

(2)设置输出GC日志:
引用
CATALINA_OPTS="-server -Xms3072m -Xmx3072m -XX:PermSize=512m -XX:MaxPermSize=1024m -Xloggc:/usr/local/tomcat/logs/gc.log -XX:+PrintClassHistogram -XX:+PrintGCDetails"


堆设置
-Xms:初期Heap大小
-Xmx:最大Heap大小
-Xss:每个线程的堆栈大小
-XX:NewSize
-XX:MaxNewSize
-XX:PermSize
-XX:MaxPermSize
-XX:NewRatio
-XX:SurvivorRatio

垃圾回收统计设置
-Xloggc:<file_path> GC日志文件输出
-XX:+PrintClassHistogram
-XX:+PrintGCDetails 输出GC详细信息(New、Old)
-XX:+PrintGCDateStamps 输出时间戳

持久代一般固定大小为64m

(3)GC日志例子:
引用
1718.835: [GC [PSYoungGen: 786432K->19883K(917504K)] 786568K->20019K(3014656K), 0.0222160 secs] [Times: user=0.14 sys=0.01, real=0.02 secs]

时间: [GC [<回收器名>: <新生代GC前大小> -> <新生代GC后大小>(<可用容量>)] <Heap在GC前大小> -> <Heap在GC后大小><可用容量>, <GC中jvm暂停时间>]
“1718.835”代表了GC发生的时间(从Java虚拟机启动以来经过的秒数)。

引用
23006.031: [Full GC [PSYoungGen: 8874K->0K(1034752K)] [PSOldGen: 2092515K->135616K(2097152K)] 2101390K->135616K(3131904K) [PSPermGen: 57227K->56746K(524288K)], 0.5162470 secs] [Times: user=0.51 sys=0.00, real=0.52 secs]

时间: [[Full GC,新生代:回收前->回收之后(回收的容量)  老年代:前->后,总  永久区:前,后,总,用时

GC针对New、Full GC针对New/Old/Perm;
Full GC的时候会停止所有线程处理又名“Stop the World”
Full GC如果是调用System.gc()方法所触发的收集,那么在这里将显示“Full GC (System)”。如果间隔3600s的话就是定时GC处理。

GC发生时机:
New对象时Heap内存不足GC
System.gc(),可通过“-XX:+DisableExplicitGC”禁止
定时GC“-Dsun.rmi.dgc.server.gcInterval”默认1小时

(4)工具:
日志查看
GCViewer
HPjmeter

JDK标准工具jconsole、VisualVM
JDK附带命令jps(显示JVM的进程ID)、jstat(监视JVM的GC状况)、jstack(获取JVM堆栈信息)、jmap(获取JVM的HeapDump)、jhat(HeapDump分析工具

HeapDump分析工具
Eclipse Memory Analyzer

参考:
http://pengjiaheng.iteye.com/blog/518623
http://d.hatena.ne.jp/tanakakns/20120508/1336467306
分享到:
评论

相关推荐

    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