更新 JFR/3_Event采集详细配置.md

This commit is contained in:
8ga 2025-03-14 15:58:07 +08:00
parent cfd5d3c582
commit ec8c25b4e2

View File

@ -24,4 +24,16 @@ TLAB 目的是为了快速分配内存。堆内存是线程共享的,所以在
*ObjectAllocationOutsideTLAB*在 default.jfc 中也是默认关闭的,可以通过向导配置*memory-profiling*调为*memory-profiling-enabled-medium*打开。也可以用高级配置这个 Event 是否采集,以及堆栈是否采集。采集内容包括:时间、线程、本次需要分配内存大小、对象类型。
**这两个的采集,对性能影响比较大,不能长期跑。尤其是在启用堆栈收集后,影响就更大了。一般考虑动态打开。**
**这两个的采集,对性能影响比较大,不能长期跑。尤其是在启用堆栈收集后,影响就更大了。一般考虑动态打开。**如果需要定位大对象分配代码位置,可以采集一个时间段的*ObjectAllocationOutsideTLAB*查看最大需要的内存大小是多少通过减少内存分配来减少GC。或者查看造成这些事件的热点堆栈是哪里然后优化代码。示例打开配置
```xml
<event name="jdk.ObjectAllocationInNewTLAB">
<setting name="enabled">true</setting>
<setting name="stackTrace">true</setting>
</event>
<event name="jdk.ObjectAllocationOutsideTLAB">
<setting name="enabled">true</setting>
<setting name="stackTrace">true</setting>
</event>
```