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

通过GC日志简单分析是否存在内存泄露的脚本

阅读更多
通过GC日志简单分析是否存在内存泄露的脚本(前提是使用CMSGC方式进行内存回收,并且打开GCDetails开关),思路是取出每次CMSGC|FullGC后的第一次MinorGC后,老生代剩余内存大小(总剩余内存-新生代剩余),如果一直增加则肯定有内存泄露:
grep -E -A1 "(CMS-concurrent-reset)|(Full GC)" gc.log |grep "\[ParNew" |awk '{print $6" "$9" "$1}' |awk -F'K' '{print substr($2,3,length($2))" "substr($5,3,length($5))" "substr($7,3)'} |awk '{print $3" new="$1/1024"M total="$2/1024"M old="($2-$1)/1024"M"}'


追加一下,不同的日志格式,awk需要不同的适配。当打开:XX:+PrintGC -XX:+PrintGCDetails时,脚本如下:
grep -E -A1 "(CMS-concurrent-reset)|(Full GC)" gclog.0.current |grep "\[ParNew" |awk '{print $9" "$12" "$1}' |awk -F'K' '{print substr($2,3,length($2))" "substr($5,3,length($5))" "substr($7,3)'} |awk '{print $3" new="$1/1024"M total="$2/1024"M old="($2-$1)/1024"M"}'
分享到:
评论

相关推荐

    AviatorEvaluator执行脚本导致Metaspace不足引发频繁 Full GC

    数据分析&特征平台DMP 最近频繁发生Full GC, 引发集群卡顿,导致经常超时,按照常规的方法,肯定是先看GC 日志 2020-02-17T10:17:24.672+0800: 48172.920: [GC (Allocation Failure) 2020-02-17T10:17:24.672+0800: ...

    GCviewer-1.35 GC分析工具

    3. **运行与分析**:双击RUN.bat执行文件,GCviewer将读取指定的GC日志文件,并实时展示分析结果。你可以通过界面观察GC行为,调整视图以查看不同维度的数据。 4. **导出报告**:除了实时查看,GCviewer还支持导出...

    gcviewer134.zip

    《GCViewer 1.34:Java垃圾收集日志分析利器》 在Java应用程序的性能调优中,垃圾收集(Garbage Collection, ...通过对GC日志的深入分析,开发者能够更好地管理内存,避免性能瓶颈,从而提升Java应用程序的整体性能。

    IBMjvm内存分析工具

    "IBMjvm内存分析工具"是一个专门针对IBM JVM设计的工具,旨在帮助开发者和运维人员有效地诊断和解决JVM内存泄漏或死锁等问题。 首先,我们来看"gc"这个标签,它代表了垃圾收集(Garbage Collection)。在Java中,...

    用于测试jvm gc调优-share-jvm-gc.zip

    5. **内存泄漏检测**:定期检查是否存在内存泄漏,通过分析GC日志或者使用专门的检测工具,定位并修复可能导致内存泄漏的问题。 6. **并行与并发调整**:根据系统硬件资源调整并行GC的线程数(`-XX:...

    jbuilder中的内存查看工具

    4. **分析数据**:观察内存使用图和GC日志,结合`Readme.html`和`manual.zip`中的文档理解结果,进行问题排查。 **手动清理与资源管理** 在`deloldprops.bat`脚本中,可能包含清理旧的配置文件或临时文件的命令,...

    PHP脚本内存泄露导致Apache频繁宕机解决方法

    内存泄露是一个常见的问题,特别是在长时间运行的脚本中,可能会导致服务器性能急剧下降,甚至频繁宕机。本文聚焦于如何解决由PHP脚本内存泄露引发的Apache服务器频繁崩溃的问题。 Apache是常用的Web服务器软件,它...

    kettle内存溢出(Java heap space)以及解决方法.docx

    5. **代码优化**:检查并优化Kettle的自定义脚本或Java代码,避免无用的对象创建和内存泄漏。 6. **定期清理和释放资源**:确保Kettle在处理完数据后,及时释放不再使用的对象和资源,避免内存碎片。 最后,监控...

    websphere性能分析

    - **MDD4J**:这是一个用于Java内存分析的工具,能够帮助定位内存泄漏。 - **WebSphere Application Server on iSeries**:此版本的WebSphere提供了特定于平台的性能分析。 - **HeapAnalyzer**:WebSphere自带的...

    自动化测试工具

    JMap,全称Java Memory Profiler,是Oracle JDK工具集的一部分,主要用于Java应用的内存分析。JMap 1.4版本是该工具的一个重要迭代,它在前一版本的基础上进行了诸多改进,旨在帮助开发者更好地理解和解决内存泄漏、...

    Node.js-一个给开发者使用的AndroidApp内存清理监控工具

    - **内存泄漏检测**:监测长时间未释放的对象,分析可能存在的内存泄漏问题。 - **内存快照对比**:在不同时间点获取内存快照,对比分析内存增长情况。 - **实时内存使用图表**:将数据可视化,实时展示App的内存...

    weblogic dump 学习

    - **GC状态检查**:通过WebLogic控制台查看JVM的空闲内存变化情况,GC的回收情况,也可以通过服务启动脚本添加GC日志来查看GC回收效果。在控制台强制执行垃圾回收,分析回收的内存是否过小,这可能预示内存溢出的...

    visualvm插件集合.rar

    VisualVM是一款强大的Java性能分析工具,由Oracle公司开发并维护,它提供了丰富的功能,包括内存分析、线程检查、CPU和JVM堆栈跟踪等。这个"visualvm插件集合.rar"文件似乎包含了一些专门针对GC(Garbage Collection...

    JVM监控,调优,分析工具(低配版arthas)-spectre.zip

    6. **日志分析**:通过对应用日志的快速检索和分析,Spectre帮助开发者快速定位异常和错误,提高了问题解决的效率。 7. **脚本支持**:Spectre支持自定义脚本,用户可以根据实际需求编写脚本来自动化一些重复性的...

    jProfiler 10详细使用手册

    - **查找内存泄漏**: 通过分析内存使用模式来检测潜在的内存泄漏。 #### 九、线程剖析 - **线程状态**: 显示所有线程的状态,如运行、等待等。 - **死锁检测**: 自动检测并报告可能发生的死锁情况。 - **锁竞争**: ...

    GC02-project

    4. **日志和监控工具**:项目可能包含了用于记录和分析GC日志的脚本或工具,帮助理解GC的工作过程和性能瓶颈。 5. **文档**:详细说明项目的目标、实现方式、测试结果和性能分析报告,为其他开发者提供学习和参考。 ...

    JVM调优的测试项目-JVM-subject.zip

    5. **性能分析**:理解CPU、内存、GC日志等性能指标,学习如何使用`jmap`、`jstat`、`jconsole`等命令行工具进行诊断。 6. **类加载机制**:理解双亲委派模型,了解类加载器的层次结构和工作方式,这对于理解和解决...

Global site tag (gtag.js) - Google Analytics