繁体   English   中英

Java GC日志分析

[英]Java GC log analysis

我是 gc 日志的新手。

以下gc日志是什么意思。 它是否暗示了一些有用的信息?

16960.890: [GC [PSYoungGen: 111960K->36400K(523584K)] 845053K->770190K(1286720K), 0.0270419 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] 
16960.917: [Full GC (System) [PSYoungGen: 36400K->0K(523584K)] [PSOldGen: 733789K->714479K(763136K)] 770190K->714479K(1286720K) [PSPermGen: 34154K->34154K(38208K)], 1.0982179 secs] [Times: user=1.09 sys=0.00, real=1.09 secs] 

PSYoundGen 是什么意思? Full GC 线是什么意思? 我在谷歌搜索它,但不明白它。 谢谢回复!

一张图可以说一千个字。 直观地解释 GC 日志会容易得多。 我发现GCViewer过去非常有用,包括它对相关主题的引用。

PSYoungGen 指的是用于次要收集的垃圾收集器。 PS代表并行清除。

参考: Java 垃圾收集日志消息

我会使用图形工具来分析文件。 很难从原始数据中得出结论。 请参阅知道任何垃圾收集日志分析工具吗?

关于 HotSpot JVM 中内存管理的优秀白皮书将回答您可能对该主题提出的大多数问题。

GC 日志是解决内存/CPU 相关问题和优化应用程序性能的重要工件。

启用 java 9 GC 日志

为了在 Java 9 中启用 GC 日志记录,引入了一个新的系统属性。 您需要在应用程序启动期间传递此系统属性:

-Xlog:gc*:file=

例子:

-Xlog:gc*:file=/tmp/logs/gc.log

分析工具

GC 日志格式在 Java 9 中完全改变。要分析 Java 9 GC 日志,强烈建议使用 GC 日志分析工具,如 GCeasy、HPJmeter。 这些工具解析 java 9 GC 日志并生成出色的数据图形可视化、报告关键性能指标和其他一些有用的指标。

尝试在线 GC 日志分析器,这是基于 GC 查看器http://gcloganalyzer.com

https://jxray.com/是我使用过的最好的之一,因为它可以提供一些额外的指标并自动将一些常见的指标汇总为可操作的见解 -

与大多数其他工具不同,JXRay 主动查找各种已知的、易于理解的 Java 内存问题,并为您提供具体的、可操作的发现。 这些结果经过仔细汇总,因此由相同代码管理的所有坏对象都清晰可见。 因此,您可以立即看到需要更改哪些代码以节省最大内存量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM