大厂都在用的GC分析工具(GCViewer实战案例全公开)

【JVM】日志分析工具--gcviewer的使用 问了一圈周边的同事或朋友,发现用gcviewer还是比较少,现在年轻一代的同学都是在生产直接用arthas或大盘,本地开发一般就是用自带visualvm或者直接用上节说的easyGC直接上传查看。 阅读详情

第一章:GCViewer与Java垃圾回收分析概述

在Java应用性能调优过程中,垃圾回收(Garbage Collection, GC)行为的监控与分析至关重要。GCViewer是一款开源工具,专门用于可视化和分析JVM生成的GC日志,帮助开发者识别内存泄漏、频繁GC、长时间停顿等潜在问题。

GCViewer的核心功能

  • 解析多种格式的GC日志,包括标准输出和G1、CMS等收集器的日志
  • 图形化展示GC暂停时间、堆内存变化趋势及回收频率
  • 提供关键指标汇总,如总暂停时间、吞吐量、最大停顿时长等

如何启用GC日志并使用GCViewer分析

要使用GCViewer,首先需在JVM启动参数中开启GC日志记录。例如:
# 启用GC日志输出
-XX:+PrintGCApplicationStoppedTime \
-XX:+PrintGCDateStamps \
-XX:+PrintGCDetails \
-Xloggc:gc.log \
-XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=5 \
-XX:GCLogFileSize=10M
上述参数将生成可轮转的GC日志文件,适用于长时间运行的服务。生成的日志可直接导入GCViewer进行分析。

GCViewer分析结果的关键指标

指标名称含义优化建议
GC Throughput应用运行时间占比应高于90%,否则需调整堆大小或GC策略
Total Pause Time所有GC暂停累计时间若过长,考虑切换至低延迟收集器如ZGC
Full GC Frequency老年代回收频次频繁触发表明对象晋升过快或内存不足
通过合理解读这些数据,开发团队可以精准定位内存瓶颈,制定有效的调优方案。

第二章:GC日志生成与采集规范

2.1 JVM垃圾回收机制与日志类型详解

JVM垃圾回收(GC)是Java内存管理的核心机制,通过自动回收不再使用的对象释放堆内存。常见的GC算法包括标记-清除、复制算法和标记-整理,不同算法适用于不同的堆区域:年轻代通常采用复制算法,老年代则多用标记-整理。
常见垃圾回收器类型
  • Serial GC:单线程回收,适用于客户端应用
  • Parallel GC:多线程并行回收,注重吞吐量
  • CMS GC:以最短停顿时间为目标,适用于响应敏感系统
  • G1 GC:面向大堆,分区域回收,兼顾吞吐与停顿
GC日志示例与解析

[GC (Allocation Failure) [DefNew: 8192K->1024K(9216K), 0.0123456 secs] 10240K->3072K(19456K), 0.0134567 secs]
该日志表示一次年轻代GC触发,原因“Allocation Failure”。其中: - DefNew: 8192K->1024K(9216K) 表示年轻代使用从8192K降至1024K,总容量9216K; - 总堆内存从10240K降至3072K,耗时约13毫秒。

2.2 不同GC策略下的日志输出配置实践

在JVM调优过程中,选择合适的垃圾回收器直接影响应用性能与日志可读性。针对不同的GC策略,需调整相应的日志参数以获取关键运行时信息。
常见GC类型与日志开关
  • Serial GC:适用于单线程环境,启用日志:
    -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps
  • Parallel GC:高吞吐场景常用,建议添加时间戳和停顿统计:
    -Xloggc:gc.log -XX:+UseParallelGC -XX:+PrintGCTimeStamps
  • G1 GC:低延迟系统首选,推荐开启区域信息输出:
    -XX:+UseG1GC -XX:+PrintAdaptiveSizePolicy -XX:+PrintHeapAtGC
上述参数中,-XX:+PrintGCDetails 输出GC前后堆状态,-XX:+PrintGCDateStamps 添加UTC时间戳便于问题定位,而G1特有的 PrintAdaptiveSizePolicy 可追踪动态调整策略。
日志分析辅助表格
GC类型推荐日志参数适用场景
SerialPrintGC, PrintGCDetails小型应用、嵌入式系统
ParallelPrintGCTimeStamps, Xloggc批处理服务、高吞吐后台
G1PrintHeapAtGC, PrintAdaptiveSizePolicy响应敏感的Web服务

2.3 生产环境GC日志采集最佳实践

在生产环境中,准确采集GC日志是性能分析与故障排查的基础。合理的配置不仅能减少日志冗余,还能确保关键信息不被遗漏。
启用详细GC日志输出
通过JVM参数开启完整GC日志记录:

-XX:+PrintGC           \
-XX:+PrintGCDetails    \
-XX:+PrintGCDateStamps \
-XX:+PrintGCTimeStamps \
-Xloggc:/path/to/gc.log
上述参数分别启用了基础GC日志、详细回收信息、日期时间戳和相对时间戳,便于后续按时间轴分析停顿行为。日志路径建议指向独立磁盘分区,避免I/O争抢影响应用性能。
日志轮转与保留策略
为防止日志文件无限增长,应结合工具实现自动轮转:
  • 使用-XX:+UseGCLogFileRotation开启文件轮转;
  • 设置-XX:NumberOfGCLogFiles=5保留最多5个历史文件;
  • 通过-XX:GCLogFileSize=100M限定单个文件大小。

2.4 日志文件格式解析与预处理技巧

日志数据通常以非结构化或半结构化形式存在,解析前需明确其格式特征。常见的日志格式包括 Apache 访问日志、JSON 格式日志和 Syslog 协议格式。
常见日志格式示例
192.168.1.10 - - [01/Jul/2023:12:00:05 +0800] "GET /api/user HTTP/1.1" 200 1024
该 Apache 日志包含 IP、时间、请求方法、路径、状态码等字段,可通过正则提取。
预处理流程
  • 清洗:去除无效字符与空行
  • 分割:按分隔符或正则切分字段
  • 标准化:统一时间格式与编码
使用 Python 解析日志
import re
log_line = '192.168.1.10 - - [01/Jul/2023:12:00:05 +0800] "GET /api/user HTTP/1.1" 200 1024'
pattern = r'(\S+) \S+ \S+ \[([^\]]+)\] "(\S+) (.*?) HTTP/\d\.\d" (\d+) (\d+)'
match = re.match(pattern, log_line)
if match:
    ip, time, method, path, status, size = match.groups()
    # 提取成功,可用于后续分析
该正则捕获 IP、时间、请求方法、路径、状态码和响应大小,是日志结构化的基础步骤。

2.5 常见日志采集问题排查与解决方案

日志丢失问题排查
当日志采集端出现数据丢失时,通常与缓冲区溢出或网络抖动有关。可通过调整采集客户端的缓冲策略缓解:

filebeat.prospectors:
- input_type: log
  paths:
    - /var/log/app/*.log
  backoff: 1s
  max_backoff: 8s
  bulk_max_size: 1024
上述配置通过设置重试退避机制和批量大小,降低因瞬时网络故障导致的日志丢失风险。
高延迟场景优化
  • 检查采集器与目标存储间网络延迟
  • 启用压缩传输(如gzip)减少带宽占用
  • 调整采集周期,避免频繁小批量写入
常见错误码对照表
错误码含义建议操作
429请求过频限流降级
503服务不可用检查后端负载

第三章:GCViewer核心功能深度解析

3.1 工具安装部署与界面功能导览

环境准备与工具安装
在部署前需确保系统已安装 Python 3.8+ 及 pip 包管理器。通过以下命令安装核心工具:

pip install data-sync-tool==2.1.0
该命令将安装支持多源数据同步的主程序,包含 MySQL、PostgreSQL 和 Kafka 连接器。
初始化配置与服务启动
安装完成后,生成默认配置文件:

data-sync init --config ./conf.yaml
参数说明:`--config` 指定配置输出路径,生成的 YAML 文件包含日志级别、线程池大小和插件加载路径等基础设置。
主界面功能概览
启动后访问 http://localhost:8080,界面主要模块包括:
  • 数据源管理:支持 JDBC 和 REST API 接入
  • 同步任务监控:实时显示吞吐量与延迟指标
  • 日志审计:按任务 ID 过滤运行日志

3.2 关键性能指标解读与可视化分析

在系统性能监控中,关键性能指标(KPI)是评估服务健康度的核心依据。常见的指标包括响应延迟、吞吐量、错误率和资源利用率。
核心指标定义
  • 响应时间:请求从发出到收到响应的时间间隔
  • QPS:每秒处理的查询请求数,反映系统吞吐能力
  • CPU/Memory Usage:衡量节点资源消耗水平
Prometheus 指标采集示例

# HELP http_request_duration_seconds HTTP请求处理耗时
# TYPE http_request_duration_seconds histogram
http_request_duration_seconds_bucket{le="0.1"} 150
http_request_duration_seconds_bucket{le="0.5"} 240
http_request_duration_seconds_bucket{le="+Inf"} 250
该指标采用直方图类型记录请求延迟分布,le 表示“小于等于”,可用于计算P95/P99延迟。
可视化展示结构
指标名称采集频率告警阈值
request_rate10s>1000 QPS
error_ratio15s>1%

3.3 内存分配与GC暂停时间洞察

在Go语言运行时系统中,内存分配策略直接影响垃圾回收(GC)的频率与暂停时间。高效的内存管理通过span、cache和central三级结构降低锁竞争,提升分配效率。
对象分配路径优化
小对象通过线程本地缓存(mcache)快速分配,大对象直接进入堆区。这种分级策略减少对全局资源的竞争。
// 触发GC前手动预分配,降低高峰期停顿
buf := make([]byte, 1<<20) // 预分配1MB缓冲区
runtime.GC() // 强制触发一次GC,清理冗余对象
上述代码通过预分配和主动GC,减少运行时突发分配压力,从而压缩STW(Stop-The-World)时间。
GC暂停时间影响因素
  • 堆大小:堆越大,标记阶段扫描时间越长
  • 对象数量:活跃对象多会增加根对象扫描开销
  • 分配速率:高分配率可能导致更频繁的GC周期

第四章:真实生产场景下的GC分析实战

4.1 案例一:频繁Full GC问题定位与优化

系统在运行过程中出现响应延迟,监控显示每10分钟触发一次Full GC。通过jstat -gcutil持续观察发现老年代(OG)使用率快速上升,结合jmap -histo:live分析对象实例分布,确认存在大量未及时释放的缓存对象。
内存泄漏点定位
排查代码发现自定义缓存未设置过期策略,导致对象长期驻留老年代:

// 问题代码
private static Map<String, Object> cache = new HashMap<>();
public void put(String key, Object value) {
    cache.put(key, value); // 缺少容量限制和过期机制
}
该实现未控制缓存生命周期,大量数据累积引发Full GC。
优化方案
采用ConcurrentHashMap结合WeakReference或切换为Caffeine缓存库,引入大小限制与写后过期策略:
  • 设置最大缓存条目为10000
  • 配置expireAfterWrite=10分钟
  • 启用软引用回收策略
优化后Full GC频率从每10分钟降至每日1次,系统吞吐量提升65%。

4.2 案例二:长时间停顿导致服务超时分析

在一次生产环境的故障排查中,某核心服务频繁出现超时现象。监控数据显示,请求处理时间偶尔突增至数秒,远超正常范围。
问题定位
通过 APM 工具追踪,发现超时集中在 GC 停顿时段。JVM 日志显示 Full GC 频繁触发,单次停顿时间达 1.8 秒。
GC 日志分析

[Full GC (Ergonomics) [PSYoungGen: 512M->0M(512M)] 
[ParOldGen: 1024M->1010M(1024M)] 1536M->1010M(1536M), 
[Metaspace: 120M->120M(1200M)], 1.8012345 secs]
该日志表明老年代几乎满载,频繁 Full GC 导致应用线程长时间暂停。
优化措施
  • 调整堆内存比例,增大老年代空间
  • 切换至 G1 垃圾回收器,控制单次停顿时间
  • 引入对象池复用大对象,减少短期对象晋升压力
优化后,Full GC 频率下降 90%,服务超时问题彻底缓解。

4.3 案例三:堆内存泄漏的蛛丝马迹追踪

在一次线上服务性能排查中,JVM堆内存持续增长且Full GC频繁触发,初步怀疑存在堆内存泄漏。通过jmap生成堆转储文件并使用MAT分析,发现大量未被释放的缓存对象。
问题代码片段

public class CacheService {
    private static Map<String, Object> cache = new HashMap<>();

    public void put(String key, Object value) {
        cache.put(key, value); // 缺少过期机制
    }
}
上述代码中静态Map持有对象引用,导致对象无法被GC回收,长期积累形成内存泄漏。
优化方案
  • 改用ConcurrentHashMap提升并发安全性
  • 引入WeakHashMap或结合定时任务清理过期条目
  • 使用Guava Cache等具备驱逐策略的工具

4.4 多维度对比分析助力GC调优决策

在JVM调优中,仅依赖单一指标难以全面评估GC性能。通过多维度数据对比,可精准定位瓶颈。
关键监控维度
  • 吞吐量:应用运行时间与总运行时间的比率
  • 停顿时间:每次GC暂停应用的时间长度
  • 内存占用:堆内存使用趋势与对象分配速率
典型参数对比表
GC类型吞吐量最大停顿时间适用场景
Parallel GC高较长批处理任务
G1 GC中等可控低延迟服务
JVM启动参数示例
-XX:+UseG1GC -Xms4g -Xmx4g -XX:MaxGCPauseMillis=200
该配置启用G1垃圾回收器,设定堆大小为4GB,并将目标最大停顿时间控制在200毫秒以内,适用于对响应时间敏感的Web服务。

第五章:GC分析体系的未来演进与思考

智能化监控与自适应调优
现代GC分析正逐步从被动诊断转向主动预测。借助机器学习模型,系统可基于历史GC日志训练回归模型,预测未来内存压力。例如,在JVM环境中采集Young GC频率、晋升失败次数、老年代增长速率等特征,输入至轻量级XGBoost模型中,实现对Full GC的提前预警。
  • 特征工程包括:GC耗时标准差、对象分配速率、跨代引用数量
  • 模型输出为未来5分钟内发生Full GC的概率
  • 触发阈值后自动调整-XX:NewRatio或启用ZGC平滑切换
云原生环境下的分布式GC协同
在Kubernetes集群中,多个Java Pod可能共享物理节点资源。传统独立GC策略易导致“GC风暴”。一种解决方案是引入Sidecar代理收集各Pod的GC状态,并通过gRPC上报至中央控制器:

// Sidecar定期上报GC指标
type GCReport struct {
    PodName       string    `json:"pod_name"`
    YoungGCCount  int       `json:"young_gc_count"`
    LastDuration  float64   `json:"last_duration_ms"`
    Timestamp     time.Time `json:"timestamp"`
}
控制器依据全局视图调度GC时机,避免同节点多Pod同时进入并发标记阶段。
硬件感知的垃圾回收优化
新型持久化内存(如Intel Optane)具有非对称读写延迟特性。GC算法需调整对象复制策略:将高频访问对象优先放置于DRAM,冷数据置于PMEM。以下为内存层级配置示例:
内存类型访问延迟JVM参数建议
DRAM100ns-XX:PreferredHeapZone=hot
PMEM300ns-XX:PreferredHeapZone=cold
内存分析之GCViewer详细解读 该标签中,能够看到日志中全部重要的GC暂停汇总:Total pause = Gc pauses + Full gc pauses + VM operation overhead + Concurrent GCsTotal heap(usage / alloc.max):总大小和使用情况Max heap after full GC:Full GC后的堆内存大小Total Time:GC总耗时Accumulated Pauses:GC过程中暂停总时长Throughput:吞吐量百分比,显示了有效工作的时间比例, 阅读详情

相关推荐

JVM系列之:日志分析工具:GCViewer、VisualVM、GCeasy

本文为《深入学习 JVM 系列》第二十四篇文章 GCViewer GCViewer 是一个可以将 JVM 中的 gc log 可视化的工具,使用该工具可以帮助你充分的发现 JVM 垃圾回收中的潜在问题,让你可以更加准确的做出关于 JVM GC 优化的决策。 安装并启动 git clone https://github.com/chewiebug/GCViewer.git //或者用 IDEA打开项目后,用 maven进行打包 mvn clean pacakge //得到一个 jar包 cd target.

Herishwater的博客 6792

【JVM】GC日志分析工具一GCview使用介绍

GCViewer介绍业界较为流行分析GC日志的两个工具——GCViewer、GCEasy。GCEasy部分功能还是要收费的,今天笔者给大家介绍一下GCViewer的使用与功能点。二、GCViewer 使用。

康师傅没有眼泪 1万+

GC日志可视化分析 & JVM状态可视化 工具整理

目录 一、GC日志可视化分析工具 1. 概述 2. GCeasy 3. GCPlot 4. JClarity 5. GcViewer 二、JVM状态可视化(JVisualVM) 1. 概述 2. 运行 3. 安装插件 4. 远程监控 4.1 jstatd连接 4...

xerjava的专栏 8680

GCViewer是一个非常有用的工具,特别是对于需要分析Java堆转储数据的开发者和运维人员

GCViewer是一个非常有用的工具,特别是对于需要分析Java堆转储数据的开发者和运维人员。通过GCViewer,用户可以方便地查看和分析Java堆转储文件,了解内存使用情况、垃圾收集情况以及是否存在内存泄漏等问题。

[Blog][Domain] programb.blog.youkuaiyun.com 1343

拆解大疆M300电池BMS:基于TI TIDA-010030方案的硬件架构深度分析

本文深度解析了大疆M300无人机电池管理系统(BMS)基于TI TIDA-010030参考设计的硬件架构。通过对比TI方案与大疆实现的差异,详细介绍了BQ7694003监控前端和BQ34Z100电量计的优化设计,以及通信架构的可靠性改进。文章还揭示了大疆在成本、空间和标准化方面的工程妥协与创新平衡,为锂电池保护方案提供了实践参考。

weixin_27066963的博客 239

224G PAM-4 通道的 PCB 和封装设计

该行业正在努力实现层厚非常低的 sub-Dk = 3 材料,以及更先进的加工,这将使封装和 PCB 中的透射电镜截止值更高。当回波损耗占主导地位时,我们基本上需要去除沿互连产生阻抗失配的任何元件,就像上面描述的更光滑的铜和更低的 Dk 值一样。第二个影响是传输线阻抗匹配在 56 GHz 范围内的非常高的频率下非常困难的主要原因之一,另一个因素是 Tx 或 Rx 封装/缓冲器中的寄生效应。由于 PCB 和封装中的长度刻度,这是 BGA 上的焊盘、过孔和球等小结构开始在输入阻抗中产生明显偏差的频率范围。

jkh920184196的博客 842

可视化GC日志分析工具

许多人的努力,只是为了欺骗自己和做给别人看的而已。他们都只是看起来很努力而已。 概述 本章給大家推荐一款web可视化分析GC日志工具 准备测试代码 public class TestGC { // 实现:不断的产生新的数据(对象),随机的废弃对象(垃圾) public static void main(String[] args) throws Exception { ...

郑龙飞 2825

网络调试和分析工具 Proxyman Premium

它支持MacOS、iOS和iPadOS等操作系统,提供丰富的功能,如查看和编辑HTTP/HTTPS请求和响应、设置断点、过滤请求等。Proxyman Premium还支持WebSocket、GraphQL和gRPC等现代网络协议调试,并通过直观且图形化的操作界面,使用户能高效地监控和操纵网络数据流。此外,它还具备多种高级功能,如WebSocket支持、DNS欺骗、自定义SSL证书等,为开发人员提供极大的便利。同时,由于软件版本更新和界面调整,上述步骤可能会有所变化,建议您参考最新版本的官方文档进行操作。

llhf688的博客 2003

性能优化-可视化GC日志分析工具

4、可视化GC日志分析工具 4.1、GC日志输出参数 前面通过-XX:+PrintGCDetails可以对GC日志进行打印,我们就可以在控制台查看,这样虽然可以查看GC的信息,但是并不直观,可以借助于第三方的GC日志分析工具进行查 看。 在日志打印输出涉及到的参数如下: ‐XX:+PrintGC 输出GC日志 ‐XX:+PrintGCDetails 输出GC的详细日志 ‐XX:+PrintGCTi...

逍遥云恋 1090

逆向实战:基于内存态匿名段分析的 DexProtector 检测绕过策略

本文深入探讨了针对DexProtector加固方案的Frida检测绕过策略。通过分析运行时动态加载到匿名内存段的核心检测逻辑,提出了一套基于内存态分析、定位并转储匿名可执行段,进而通过精准Hook与“等式化替换”等技术实现稳定绕过的实战方法。该方法不仅适用于DexProtector,也对采用类似内存隐藏技术的加固方案具有参考价值。

ik678901的博客 516

统信UOS安装CH384串口卡驱动

本文讲解如何在统信UOS系统下安装CH384 PCIE多串口驱动安装过程,CPU为飞腾D2000。其他Linux内核系统安装亦可参照类似方法。

shjhuang的专栏 1887

JVM 调优实战--可视化GC日志分析工具GC Easy使用教程

设置GC日志输出参数 将GC日志信息生成到文件中: 将会在F://test目录生成gc.log文件: GC Easy可视化工具 导致GC的原因:

学亮编程手记 3741

Ruoyi-Cloud集成Seata2.0实现分布式事务

在网络上,关于Spring Cloud和Ruoyi-Cloud整合Seata的教程有很多,针对不同版本的 Seata 也有不少相关教程。事实上,无论是 Spring Cloud 还是 Ruoyi-Cloud,其整合 Seata 的原理基本相同。这篇博文将详细介绍如何在本地开发环境下,在中实现Seata 2.0的整合,希望能为大家在分布式项目中实现 Seata 的整合提供实用的帮助,提供一个清晰的操作思路。

SR003的博客 2248

日志分析工具 java_可视化GC日志分析工具

许多人的努力,只是为了欺骗自己和做给别人看的而已。他们都只是看起来很努力而已。概述本章給大家推荐一款web可视化分析GC日志工具准备测试代码public class TestGC {// 实现:不断的产生新的数据(对象),随机的废弃对象(垃圾)public static void main(String[] args) throws Exception {List list = new Array...

weixin_30058099的博客 346

深入解析高通Adreno DPU的DRM/KMS驱动架构与硬件协同设计

本文深入解析了高通Adreno DPU的DRM/KMS驱动架构与硬件协同设计,详细介绍了Adreno DPU的核心模块组成、显示接口设计以及DRM驱动架构。通过实际案例和调试技巧,帮助开发者理解硬件与软件的协同工作原理,优化显示性能并解决常见问题。

weixin_29266679的博客 440

42页Claude 3技术报告解读(Opus, Sonnet, Haiku)

在Claude 3模型中,增加了一个额外的原则到Claude的宪法中,以鼓励尊重残疾人权利,这一原则源自对集体宪法AI的研究。Claude 3模型的训练基于专有的混合数据集,包括截至2023年8月互联网上公开可用的信息,以及第三方提供的非公开数据、数据标注服务和付费承包商提供的数据,还有内部生成的数据。这些初始响应通常包含有害和有毒的内容。Claude 3模型家族在推理、编码和问答任务上展现出卓越的性能,特别是在行业标准基准测试中取得了显著的提升,证明了其在处理复杂问题和提供准确答案方面的能力。

具身机器人和通用AI 2440

JVM调优之GC日志分析及可视化工具介绍

JVM调优之GC日志分析及GCeasy/GCViewer可视化工具介绍

大数据开发、JAVA开发、人工智能AI 4533

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

可视化GC分析工具

一、http://gceasy.io/ 然后将gc.log导出来上传到选择文件中 如何获取GC日志: 第一种:tomcat下获取GC需要修改配置 [root@nick ~]$ sudo vim /opt/tomcat_8080/bin/catalina.sh JAVA_OPTS="$JAVA_OPTS -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGC...

点点的博客 7917

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

GC日志可视化分析工具GCeasy和GCViewer

上节介绍了GC日志的打印及含义,但是GC日志看起来比较麻烦,本节将会介绍一下GC日志可视化分析工具GCeasy和GCviewer。通过GC日志可视化分析工具,我们可以很方便的看到JVM各个分代的内存使用情况、垃圾回收次数、垃圾回收的原因、垃圾回收占用的时间、吞吐量等,这些指标在我们进行JVM调优的时候是很有用的。 GCeasy介绍 官网地址:https://gceasy.io/,GCeasy是...

没头脑遇到不高兴 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

分析 java gc日志_java虚拟机(十二)--可视化工具分析GC日志

在上篇博客中,我们学习了Parallel、CMS、G1三种垃圾收集器的日志格式,本次我们通过工具去分析日志,会更加的直观GCeasy:这是一个在线分析日志的工具,主要功能是免费的,存在部分收费,地址:https://gceasy.io/把上篇博客生成的日志文件,上传分析,就会接到可视化界面文件名:Parallel.gc.log,持续时间:6s,可以下载,分享jvm堆:Allocated:各部分分配...

weixin_39742727的博客 194

java虚拟机(十二)--可视化工具分析GC日志

在上篇博客中,我们学习了Parallel、CMS、G1三种垃圾收集器的日志格式,本次我们通过工具去分析日志,会更加的直观 日志格式博客地址:java虚拟机(十一)--GC日志分析 GCeasy: 这是一个在线分析日志的工具,主要功能是免费的,存在部分收费,地址:https://gceasy.io/ 把上篇博客生成的日志文件,上传分析,就会接到可视化界面 文件名:Parallel.gc...

weixin_30379531的博客 202

可视化工具分析GC日志

GCeasy url https://gceasy.io/ 堆的情况 关键性能指标 吞吐量和响应时间 GCViewer 吞吐量 GC原因及相应时间 最大最小停顿时间

lql_h的博客 317
上一篇: 【企业级搜索架构揭秘】:Spring Boot集成Elasticsearch的10大最佳实践
下一篇: Java并发控制实战(Semaphore使用场景大曝光)
CompiWander
博客等级 码龄1年 168粉丝 1980原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值