`
blueswind8306
  • 浏览: 127222 次
  • 来自: ...
社区版块
存档分类
最新评论

通过gc日志分析新生代的晋升大小

阅读更多
下面是分析gc日志中,每次ParNew GC时,新生代晋升大小的脚本。这个脚本可以帮助定位某段时间是否有大量新对象产生,导致晋升频繁:
cat gc.log |grep " \[ParNew: " |awk '{print $1" "$6" "$9}' |awk -F'K' '{print substr($1,1,29)" "substr($1,31,length($1))" "substr($2,3,length($2))" "substr($4,4,length($4))" "substr($5,3,length($5)) }' |awk '{print $1" beforeYoung="$2/1024"MB afterYoung="$3/1024"MB beforeHeap="$4/1024"MB afterHeap="$5/1024"MB promotion="(($2-$3)-($4-$5))/1024"MB"}'
0
6
分享到:
评论

相关推荐

    GChisto GC分析工具

    总之,GChisto是一款强大的Java内存分析工具,它通过解析和分析GC日志,帮助开发者理解内存使用情况,诊断和解决性能问题,是优化Java应用内存管理的得力助手。正确使用和理解GChisto的功能,能够显著提高JVM的运行...

    08.GC日志1

    通过分析这些GC日志,我们可以了解JVM内存的使用情况、垃圾收集的频率和效率,以及可能的性能瓶颈。例如,频繁的Full GC可能会导致应用性能下降,需要检查是否需要调整内存分配策略或选择更适合的垃圾收集器。同时,...

    gcviewer-1.33

    - **新生代和老年代的大小变化**:观察内存分配和晋升的规律,判断是否需要调整堆大小。 - **对象分配速率**:过高可能意味着内存泄漏或者频繁的对象创建,需要优化代码。 - **内存碎片**:过多的内存碎片会影响GC...

    gcviewer的mac版本

    3. **存活率视图**:反映了对象从新生代晋升到老年代的比例,有助于评估垃圾收集器的效率。 4. **暂停时间视图**:显示了每次GC暂停的时间,对于低延迟应用尤为重要。 通过对这些视图的观察,开发者可以分析出以下...

    java jstat 查看哪个进程频繁GC垃圾回收

    下面我们将详细探讨如何使用`jstat`工具以及通过配置GC日志来分析和优化Java进程。 `jstat`是Java虚拟机内置的一个命令行工具,用于实时监控JVM的各种运行状态,包括垃圾回收的信息。要查看哪个进程频繁进行GC,...

    gc回收机制

    开发者可以通过调整JVM参数,如设置新生代和老年代的大小、设置GC日志、监控GC活动等手段,来改善应用的性能和稳定性。同时,编写良好的代码习惯,如及时释放不再使用的资源,减少全局变量和静态变量的使用,也可以...

    jvm 参数及gc详解

    调优主要涉及选择合适的垃圾收集器,调整堆大小和新生代比例,以及设置GC日志,通过监控GC行为来优化性能。 总结,理解并掌握JVM参数和GC机制是Java开发中的重要技能。通过合理配置JVM参数,我们可以有效控制内存...

    GCViewer.zip

    在使用GCViewer时,首先要确保JVM开启了相应的日志记录,这通常通过设置JVM参数来实现,例如使用`-XX:+PrintGCDetails`和`-Xloggc:gc.log`来开启标准GC日志。然后,将生成的日志文件导入GCViewer,工具会自动解析并...

    jvm-full-gc.zip

    它们能提供详细的GC日志,帮助我们分析Full GC的触发原因和性能瓶颈。 总结,理解JVM的Full GC并进行有效调优,是提升Java应用性能的关键。开发者需要深入学习JVM内存模型,合理设置内存参数,选择合适的垃圾收集器...

    Sun Hotspot V1.6.0 JVM GC PPT.pdf

    使用`-verbose:gc`、`-XX:+PrintGCDetails`以及`-Xloggc:gc.log`等选项可以输出详细的GC日志信息。 例如,串行GC的日志输出如下: ``` [GC [DefNew: 11509K->1138K(14336K), 0.0110060 secs] 11509K->1138K(38912K...

    VisualGC 内存监控工具

    5. **对象生存周期**:通过图表展现对象从新生代晋升到老年代的过程,帮助理解对象生命周期。 使用VisualGC,我们还可以进行以下操作: - **性能调优**:根据内存使用情况调整JVM的参数设置,如堆大小、新生代和老...

    jvm gc

    通过这些工具,我们可以观察GC日志,分析GC性能,找出可能的问题。 7. **垃圾收集器组合**:JDK 11引入了ZGC(Z Garbage Collector),这是一种低延迟的GC,目标是在大堆上实现几乎无暂停时间的垃圾收集。JDK 14...

    hllvm.新生代回收调试的一些心得1

    5. **老生代(Tenured Generation)**:存放生命周期较长,多次从新生代晋升过来的对象。 6. **持久代(Permanent Generation)**:存储类元数据,如类的信息、方法等,JVM 8以后被元空间(Metaspace)取代。 四、...

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

    此外,监控GC日志,分析GC行为,以及使用适当的GC算法(如CMS、G1或ZGC)也是优化过程中的关键步骤。通过这些实践,开发者能够确保Java应用程序在运行时具有良好的内存管理和高效的资源利用率。

    深入JVM内核—原理、诊断与优化视频教程-5. GC参数

    7. **GC日志**:开启和配置GC日志,如`-Xloggc:`和`-XX:+PrintGCDetails`,以便于分析和优化。 8. **GC暂停时间目标**:使用`-XX:MaxGCPauseMillis`设定最大GC暂停时间,G1 GC尤其关注这一点。 9. **内存分配策略*...

    Visual VM的GC插件

    使用Visual VM的GC插件进行性能调优时,开发者可以记录和分析GC日志,找出可能导致性能下降或内存泄漏的问题。通过对比不同GC策略的效果,可以针对性地调整JVM参数,优化应用程序的内存使用效率。 总的来说,Visual...

    jvm和gc详解及调优

    5. **GC调优**:包括如何分析GC日志,理解GC停顿(Stop-the-World)事件,以及如何通过调整JVM参数来改善系统性能,如设置堆大小、新生代与老年代的比例、存活代的晋升策略等。 6. **性能监控与诊断工具**:如...

    JVM体系结构与GC调优

    - **监控和诊断**:使用 `-XX:+PrintGC` 输出GC日志,或使用JVisualVM等工具进行实时监控。 **3. GC性能优化** - 减少对象创建:避免短生命周期对象过多,减少频繁的GC操作。 - 对象池技术:对于经常创建和销毁的...

    JVM性能调优分析过程

    7. **异常处理与日志**:配置当出现OOM(Out Of Memory)时生成内存dump文件和GC日志,便于后期分析问题原因。 通过上述方法,我们可以构建出一个更适应业务需求的JVM运行模型,优化内存利用率,降低GC频率,提高...

    com-sun-tools-visualvm-visualgc.zip

    2. **垃圾收集日志分析**:记录每次垃圾收集的开始时间、结束时间、耗时以及收集的内存区域,有助于分析GC效率和性能瓶颈。 3. **对象生存周期分析**:通过追踪对象的生命周期,可以了解哪些对象在何时被创建、何时...

Global site tag (gtag.js) - Google Analytics