Java垃圾收集日志输出

标签 java logging garbage-collection jvm

早上好,

我正在编写一个解析 Java 垃圾收集的程序,我需要一些帮助来确定日志输出的确切含义。我的日志文件包含我理解的以下输出:

46834.386: [Full GC 46834.386: [CMS: 412190K->414324K(8388608K), 2.9557920 secs] 4319571K->414324K(16769088K), [CMS Perm : 96586K->96555K(2097152K)], 2.9561693 secs]
49394.883: [GC 49394.883: [ParNew: 8372352K->0K(8380480K), 0.0256383 secs] 8786676K->422169K(16769088K), 0.0258842 secs]

但它还包含以下我不太理解的输出:

 CMS: abort preclean due to time 2087298.141: [CMS-concurrent-abortable-preclean: 

0.680/1.055 secs]
2087298.146: [GC[YG occupancy: 7515768 K (8380480 K)]2087298.146: [Rescan (parallel) , 5.0710721 secs]2087303.217: [weak refs processing, 0.0718252 secs] [1 CMS-remark: 3769931K(8388608K)] 11285700K(16769088K), 5.1432270 secs]
2087303.289: [CMS-concurrent-sweep-start]
2087305.311: [CMS-concurrent-sweep: 2.022/2.022 secs]
2087305.311: [CMS-concurrent-reset-start]
2087305.393: [CMS-concurrent-reset: 0.082/0.082 secs]
2087307.415: [GC [1 CMS-initial-mark: 3769806K(8388608K)] 12129341K(16769088K), 4.3876237 secs]
2087311.803: [CMS-concurrent-mark-start]
2087311.816: [GC 2087311.816: [ParNew: 8372352K->0K(8380480K), 0.2496844 secs] 12142158K->3865939K(16769088K), 0.2499456 secs]
2087318.573: [CMS-concurrent-mark: 6.508/6.770 secs]
2087318.573: [CMS-concurrent-preclean-start]
2087319.007: [CMS-concurrent-preclean: 0.410/0.434 secs]
2087319.007: [CMS-concurrent-abortable-preclean-start]

目前我正在使用正则表达式来分隔具有顶部格式的日志输出。它根据 eden/tenured 垃圾收集来分离输出。我现在的问题是,下面这些日志输出语句是什么?它们是 eden 还是 tenure 垃圾收集?

感谢您的宝贵时间。

最佳答案

[GCViewer] http://www.tagtraum.com/gcviewer.html是给你的。您也可以下载源代码。

关于Java垃圾收集日志输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11741569/

相关文章:

java - 您自己的 OpenID Connect 提供商(开源)

bash - 使用 awk、grep、sed 解析大型日志文件 (~5gb) 的性能问题

java - 使用 java.util.logging Autoflush 在调试期间刷新流处理程序

c# - 结构和垃圾回收

c# - 字符串、引用和垃圾收集

c# - 使困惑。 CA1063错了吗? GC.SuppressFinalize(这个)

java - MySQL 数据库连接不工作

java - 如何求和 2 个 joda-time DateTime 值(一个包含日期和零时间,另一个包含时间和零日期)?

c++ - 如何使用 log4cpp 一次记录多个变量?

Java 树类