gpt4 book ai didi

java - 如何确定哪些对象在次要 GC 中幸存下来

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:37 24 4
gpt4 key购买 nike

在我的应用程序中,我看到一些对象不断进入旧一代:

- age   1:   23911192 bytes,   23911192 total
- age 2: 627816 bytes, 24539008 total
- age 3: 60344 bytes, 24599352 total
- age 4: 19488 bytes, 24618840 total
- age 5: 12864 bytes, 24631704 total
- age 6: 10632 bytes, 24642336 total
- age 7: 11472 bytes, 24653808 total
- age 8: 10944 bytes, 24664752 total
- age 9: 39480 bytes, 24704232 total
- age 10: 10288 bytes, 24714520 total
- age 11: 8072 bytes, 24722592 total
- age 12: 9976 bytes, 24732568 total
- age 13: 13112 bytes, 24745680 total
- age 14: 8928 bytes, 24754608 total
- age 15: 8600 bytes, 24763208 total <-- who are these guys?

所以,我想问一下,找出在 15 次小型 GC 中幸存下来的对象是谁的最佳方法是什么?

应用程序运行一个小时,因此这不是预热期。

最佳答案

我不知道有任何选项可以按任期年龄来分割实例

但是如果我们问哪些对象能活到 16 岁,那么这些对象就会被提升到老年代。可以使用-XX:+PrintClassHistogram进行追踪。比较完整 GC 之后和下一次完整 GC 之前的直方图将显示哪些对象在其间的年轻集合中渗入了旧代。

使用支持快照及其比较的内存分析器可以提供类似的见解。

对于 java 9 的统一日志记录,等效选项是 -Xlog:classhisto*=trace

关于java - 如何确定哪些对象在次要 GC 中幸存下来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38327902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com