[转帖]GC日志分析工具——GCViewer案例
一、GCViewer介绍
业界较为流行分析GC日志的两个工具——GCViewer、GCEasy。GCEasy部分功能还是要收费的,今天笔者给大家介绍一下GCViewer的使用与功能点。
二、GCViewer 使用
2.1 编译
首先,在github上搜索GCViewer项目,并下载到本地。GCViewer项目没有提供现成的release版本,利用如下maven编译命令即可完成GCViewer的编译工作,最终生成一个gcviewer-1.36.jar。
mvn clean install -DskipTests
注:
- 官网上给出的maven命令并没有-DskipTests,笔者在编译过程中tests部分有异常导致编译失败,因此添加了-DskipTests。
- 在编译时,有异常表示要依赖git、svn,因此在编译前请安装这两个软件。
为了方便看官们去使用该工具,笔者将编译好的jar,存放百度网盘,欢迎下载。
链接:https://pan.baidu.com/s/1CCX6bg3zw-HtcX5Ls9CBXQ提取码:ea5q
2.2 GCViewer介绍
双击gcviewer-1.36.jar,即可见到主界面,如下图:
接着,选择要分析的gc日志文件,即可出现分析界面,主要关注Chart、Event detail、summary/memory/pause三个标签页。
2.2.1 Chart
Chart标签页把每次GC的采集信息,转换成图表用以展示,包括堆的总大小、堆的使用量、单次full gc的时间等(有些折线是特定GC收集器所特有的)。
乍一看该图形,有点乱乱的感觉,大家可以点击工具栏中的view,选择自己感兴趣的曲线,如下所示:
2.2.2 Event detail
Event detail标签页如下图所示,展示了minor GC和full GC触发的原因、次数、最长时间、最短时间等信息。
由图可知
触发Young CG的原因有:
- allocation failure,年轻代没有足够的内存去存放对象。
- gclocker failure,JNI临界区被释放时会触发一次GC。
触发Full GC的原因有:
- ergonomics,当新生代要晋升到老年代的占用空间,要大于老年代剩余内存空间时,便会触发full gc。
- metadata gc threshold,metadata空间不够用时,便会触发一次full gc。(metadata的初始值可以使用java -XX:+PrintFlagsInitial命令来看看)
- Heap Dump Initiated GC,执行jmap -dump:live pid,或jstat -gccause pid。
- system gc,显示调用了System.gc()。
2.2.3 Summary、Memory、Pause
- 进程运行66+h。
- heap最大使用率达到 99.8%。
- full gc最多的一次回收了14G heap。
- 老年代最大使用率达到100%。
- 新生代最大使用率达到99.7%。
- 灰色部分参数由于JVM参数设置原因,没有相应的值。
Pause标签页展示的信息与Event detail标签页高度重合。
三、参考链接
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
[转帖]GC日志分析工具——GCViewer案例的更多相关文章
- 【转】gc日志分析工具
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...
- GC之七--gc日志分析工具
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...
- jvm的GC日志分析 [转]
jvm的GC日志分析 标签: jvm内存javagc 2015-06-22 16:37 1566人阅读 评论(1) 收藏 举报 分类: Java(4) JVM的GC日志的主要参数包括如下几个: ...
- JAVA 从GC日志分析堆内存 第七节
JAVA 从GC日志分析堆内存 第七节 在上一章中,我们只设置了整个堆的内存大小.但是我们知道,堆又分为了新生代,年老代.他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比 ...
- 日志分析工具ELK配置详解
日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...
- GoAccess日志分析工具使用文档
----Sevck 2016/3/4 17:24:13 #1软件说明: GoAccess是一款开源.实时,运行在命令行终端下的web日志分析工具.该工具提供快速.多样的HTTP状态统计,可以令管理员不 ...
- 可视化日志分析工具Gltail的安装与使用
可视化日志分析工具Gltail的安装与使用 GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...
- 强大的日志分析工具 -- NSLogger
转:http://www.cnblogs.com/yingkong1987/p/3329945.html 强大的日志分析工具 -- NSLogger 源码:https://github.com/fpi ...
- Log Parser 微软强大的日志分析工具
Log Parser(微软网站下载)是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件.XML 文件.CSV(逗号分隔符)文件,以及操作系统的事件日志.注册表.文件系统.A ...
- Mysql 配置慢查询日志(SlowQueryLog)以及使用日志分析工具
[ 查看系统关于慢查询的设置 ] mysql> show variables like '%slow%'; +---------------------------+-------------- ...
随机推荐
- JQuery中美元符号$
目录 1. 概述 2. 详论 2.1. 加载脚本 2.2. 选择器 2.2.1. 元素选择器 2.2.2. ID选择器 2.2.3. 类选择器 2.3. 引入方法 3. 参考 1. 概述 前端技术得更 ...
- 你的JoinHint为什么不生效
本文分享自华为云社区<你的JoinHint为什么不生效[绽放吧!GaussDB(DWS)云原生数仓]>,作者:你是猴子请来的救兵吗 . 引言 提起数据库的Hint,几乎每个DBA都知道这一 ...
- 你眼中的程序员 VS 程序员眼中的自己,是时候打破代沟了
摘要:修电脑?格子衫?脱发?程序员被误解了怎么办?如何一句话向父母说明白你的工作? 有人说,你们程序员工作赚钱真简单,电脑上按按键盘就行了,一点也不辛苦. 有人说,程序员不懂生活,就知道天天对着电脑. ...
- k8s源码Client-go中Reflector解析
摘要:通过本文,可以了解Reflector通过ListWatcher从Kubernetes API中获取对象的流程,以及存储到store中,后续会对DeltaFIFO进行源码研读,通过结合inform ...
- vue2升级vue3: TSX Vue 3 Composition API Refs
在vue2时代,$refs 直接操作子组件 this.$refs.gridlayout.$children[index]; 虽然不推荐这么做,但是确实非常好用.但是vue2快速迁移到vue3,之前的这 ...
- TML转义字符:xss攻击与HTML字符的转义和反转义
xss与转义符 xss简单来说: XSS 攻击是页面被注入了恶意的代码 XSS 漏洞是 可以让攻击者注入恶意代码可执行的漏洞 具体参看之前写的: web开发前端安全问题总结--web前端安全问题汇总 ...
- Scala学习系列(二)——环境安装配置
Scala下载地址:https://www.scala-lang.org/download/ 一.安装JDK 首先,因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK 二.二进制 ...
- 9月活动回顾(免费领取PPT)|火山引擎DataLeap、ByteHouse多位专家带来DataOps、实时计算等前沿技术分享!
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在上月举行的火山引擎开发者社区 Meetup 第12期暨超话数据专场<数智化转型背景下的火山引擎大数据技 ...
- 提速 10 倍!深度解读字节跳动新型云原生 Spark History Server
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前不久,在 6月29日 Databricks 举办的 Data + AI Summit 上,火山引擎向大家首次介绍 ...
- 如何通过命令部署.Net
如何通过命令部署.net3.5组件服务 问题:系统安装.net一直报错,无法安装该功能. 问题现象: 终极解决方案: 将windows10系统镜像文件拷贝在硬盘或者U盘中,鼠标右击选择"装载 ...