Java: jstat命令结果的一些问题

发布于 2022-09-06 19:52:22 字数 188 浏览 15 评论 0

jstat -gccapcity命令里有下列三项,是什么意思?

CCSMN 最小压缩类空间大小
CCSMX 最大压缩类空间大小
CCSC 当前压缩类空间大小

jstat -gcnew <pid> 里下两项有何区别?

TT 持有次数限制
MTT 最大持有次数限制

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪冰清 2022-09-13 19:52:22

应该是说64位机器上的 类指针压缩空间(Compressed Class Pointer Space)

参考:

梦回旧景 2022-09-13 19:52:22

什么是压缩类空间(Compressed Class space)?

首先压缩类空间是元数据空间metaspace的一部分.

在64位平台上, 指向类元数据的指针可以由32位偏移量 (带有 UseCompressedOops) 表示。这由命令行标志 UseCompressedClassPointers (默认启用) 控制。如果使用 UseCompressedClassPointers, 则类元数据的可用空间量将固定在 CompressedClassSpaceSize 数值上。如果 UseCompressedClassPointers 所需的空间超过 CompressedClassSpaceSize, 将抛出一个具有Compressed class space字样的 java.lang.OutOfMemoryError异常。

操作: 增加参数 CompressedClassSpaceSize 的大小以关闭 UseCompressedClassPointers选项。

注意: CompressedClassSpaceSize 的可接受大小有界限。例如, -XX:CompressedClassSpaceSize=4g, 超出可接受的界限将导致消息, 如CompressedClassSpaceSize=4294967296无效;必须介于1048576和3221225472之间。

注意: 有多种类元数据 -klass 元数据和其他元数据。只有 klass 元数据存储在由 CompressedClassSpaceSize 限定的空间中。其他元数据存储在 Metaspace 中。

https://docs.oracle.com/javas...

相应地:

CCSMN - 对应软件运行过程中的最小历史压缩类空间大小
CCSMX - 对应软件运行过程中的最大压缩类空间大小
CCSC - 当前压缩类空间大小

什么是存活周期阈值(Tenuring threshold)?

TT: Tenuring threshold.
MTT: Maximum tenuring threshold.

Java 堆中的每个对象都有一个由垃圾回收 (GC) 算法使用的标头。新生代的空间收集器 (负责对象晋升) 使用此标头中的一些位来跟踪幸存的集合对象的数量 (32 位 JVM 使用4位, 64 位可能更多)。

在新生代的空间收集过程中, 每个对象都被复制。可以将对象复制到生存空间 (在新生代 GC 之前为空) 或老年代空间。对于被复制的每个对象, GC 算法增加了它的年龄 (幸存的数量), 如果年龄高于当前的 tenuring 阈值, 它将被复制 (晋升) 到老年代的空间。如果生存空间已满, 对象也可以直接复制到老年代空间。

对象按下面的步骤移动:

  1. 分配在新生代
  2. 从新生代复制到生存空间(Minor GC)
  3. 从生存空间到生存空间(Minor GC, 这可能发生数次)
  4. 从生存空间(或可能新生代) 晋升到老年代空间(Minor GC或Full GC) 实际的 tenuring 阈值是由 JVM 动态调整的, 但MaxTenuringThreshold 设置了一个上限。

如果设置 MaxTenuringThreshold=0, 将立即升级所有对象。

MaxTenuringThreshold这个参数用于控制对象能经历多少次Minor GC才晋升到老年代.

TT与MTT的区别

在计算存活周期这个阈值时,hotspot会遍历所有age的table,并对其所占用的大小进行累积,当累积的大小超过了survivor space的一半时,则以这个age作为新的存活周期阈值(TT),最后取age和MaxTenuringThreshold(MTT)中更小的一个值。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文