GCeasy: 让天下没有难懂的GC日志

GC日志在线分析神器

导言

Java虚拟机(JVM)的垃圾回收(GC)不仅关系到内存资源的有效管理,更对业务性能产生着深远影响。

GC日志作为诊断JVM性能问题的关键信息源,常详尽且复杂,涉及大量的专业术语和技术细节,如堆内存划分、GC算法选择、停顿时间等,让许多开发者望而却步。今天介绍的神器,让人人都可以成为GC分析的专家。

一句话介绍

gceasy.ycrash.cn/

业内首款借助机器学习技术引导的垃圾回收日志分析工具。

官方宣传语

GCeasy 采用了先进的机器学习算法,可节省处理晦涩 GC 日志的时间,免除烦恼。可迅速发现内存泄漏、长时间 GC 停顿、过早的对象晋升以及许多其他影响性能的问题。

使用说明

就像怎么把一头大象装进冰箱一样简单,唯一的区别就是大象装不进去,而GC日志分析真的成功了:

  1. 打开(或登录)网站
  2. 上传你的gc日志文件
  3. 点击【分析】按钮,等着下载报告就好了

原始的gc日志信息,截取一小部分展示:

shell 复制代码
2024-01-30T15:13:31.868+0800: 2.446: Total time for which application threads were stopped: 0.0002442 seconds, Stopping threads took: 0.0000703 seconds
2024-01-30T15:13:31.895+0800: 2.473: Total time for which application threads were stopped: 0.0002619 seconds, Stopping threads took: 0.0000670 seconds
2024-01-30T15:13:31.927+0800: 2.505: Total time for which application threads were stopped: 0.0002521 seconds, Stopping threads took: 0.0000770 seconds
2024-01-30T15:13:31.945+0800: 2.523: Total time for which application threads were stopped: 0.0008906 seconds, Stopping threads took: 0.0000898 seconds
2024-01-30T15:13:31.948+0800: 2.525: Total time for which application threads were stopped: 0.0004917 seconds, Stopping threads took: 0.0000535 seconds
2024-01-30T15:13:32.109+0800: 2.687: Total time for which application threads were stopped: 0.0003930 seconds, Stopping threads took: 0.0001287 seconds
2024-01-30T15:13:32.110+0800: 2.687: [GC (CMS Initial Mark) [1 CMS-initial-mark: 0K(1398144K)] 402692K(2027264K), 0.0868110 secs] [Times: user=0.08 sys=0.00, real=0.09 secs] 
2024-01-30T15:13:32.197+0800: 2.774: Total time for which application threads were stopped: 0.0870775 seconds, Stopping threads took: 0.0001423 seconds
2024-01-30T15:13:32.197+0800: 2.774: [CMS-concurrent-mark-start]
2024-01-30T15:13:32.197+0800: 2.775: [CMS-concurrent-mark: 0.000/0.000 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] 
2024-01-30T15:13:32.197+0800: 2.775: [CMS-concurrent-preclean-start]
2024-01-30T15:13:32.199+0800: 2.777: [CMS-concurrent-preclean: 0.002/0.002 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] 
2024-01-30T15:13:32.199+0800: 2.777: [CMS-concurrent-abortable-preclean-start]

下面是一份gc日志分析报告开头的样子:

当然,这是一个健康的状态,但是仍然给了你一些优化建议,这就可以算作对GC问题开的药方。如果你去体检结果非常健康,报告上也会告诉你多吃蔬菜少喝酒一样的道理。

报告中的内容非常详实,还包括以下内容:

  • 概览
  • 建议
  • JVM内存大小
  • 关键性能指标
  • 交互图表
  • GC时间
  • 内存泄露
  • 连续Full GC
  • JVM参数

More

喜欢我们的文章?关注公众号[1024点线面]吧!更多干货,倾情奉献。

相关推荐
junnhwan3 分钟前
【苍穹外卖笔记】Day04--套餐管理模块
java·数据库·spring boot·后端·苍穹外卖·crud
间彧3 分钟前
Java NPE异常详解
后端
无责任此方_修行中10 分钟前
我的两次 Vibe Coding 经历,一次天堂,一次地狱
后端·node.js·vibecoding
想想就想想12 分钟前
深度分页介绍及优化建议:从原理到实战的全链路解决方案
后端
程序员清风16 分钟前
Dubbo RPCContext存储一些通用数据,这个用手动清除吗?
java·后端·面试
南瓜小米粥、22 分钟前
从可插拔拦截器出发:自定义、注入 Spring Boot、到生效路径的完整实践(Demo 版)
java·spring boot·后端
Huangmiemei91124 分钟前
Spring Boot项目的常用依赖有哪些?
java·spring boot·后端
天天摸鱼的java工程师32 分钟前
接口联调总卡壳?先问自己:真的搞清楚 HTTP 的 Header 和 Body 了吗?
java·后端
Nan_Shu_6141 小时前
学习SpringBoot
java·spring boot·后端·学习·spring
间彧1 小时前
微服务架构中@Data注解在DTO与实体类中的最佳实践
后端