那么哪里会修改 _allocated_bytes 这个变量呢?有两个地方,一个是发生 TLAB 外分配的时候,另一个是发生 TLAB retire 的时候。 TLAB retire 是在发生 GC 以及 TLAB 满了并且剩余空间小于当前最大浪费空间限制的时候会重新申请一个新的 TLAB 进行分配,申请新的之前需要将当前 TLAB retire。
发生 TLAB 外分配修改 _allocated_bytes 对应源码:
Java JFR 民间指南 - 事件详解 - jdk.ThreadAllocationStatistics (5)
内容版权声明:除非注明,否则皆为本站原创文章。