您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java垃圾收集日志消息

Java垃圾收集日志消息

命令行选项-verbose:gc使有关堆和垃圾收集的信息在每个收集处打印。例如,以下是大型服务器应用程序的输出

[GC 325407K->83000K(776768K), 0.2300771 secs]
[GC 325816K->83372K(776768K), 0.2454258 secs]
[Full GC 267628K->83769K(776768K), 1.8479984 secs]

在这里,我们看到两个次要收藏,然后是一个主要收藏。箭头之前和之后的数字(例如,325407K->83000K从第一行开始)分别指示垃圾收集之前和之后的活动对象的组合大小。进行次要收集后,大小包括一些垃圾(不再存在)但无法回收的对象。这些对象包含在使用权的世代中,或从使用权的世代或永久代中引用。

括号中的下一个数字(例如,(776768K)从第一行起)是堆的提交大小:Java对象可用的空间量,而无需从操作系统请求更多的内存。请注意,此数字不包括幸存者空间之一,因为在任何给定时间只能使用一个幸存者空间,并且也不包括永久代,该永久代保存了虚拟机使用的元数据。

该行的最后一项(例如0.2300771 secs)指示执行收集所需的时间;在这种情况下,大约需要四分之一秒。

第三行中主要收藏的格式相似。

由产生的输出格式-verbose:gc可能会在将来的版本中更改。

我不确定为什么你有PSYoungGen;你更换垃圾收集器了吗?

3.757: [Full GC [PSYoungGen: 2672K->0K(35584K)] 
            [ParOldGen: 3225K->5735K(43712K)] 5898K->5735K(79296K) 
            [PSPermGen: 13533K->13516K(27584K)], 0.0860402 secs]

最后,分解示例日志输出的一行:

8109.128: [GC [PSYoungGen: 109884K->14201K(139904K)] 691015K->595332K(1119040K), 0.0454530 secs]
java 2022/1/1 18:17:05 有641人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶