更新 JFR/3_Event采集详细配置.md
This commit is contained in:
parent
cfd5d3c582
commit
ec8c25b4e2
@ -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>
|
||||
```
|
Loading…
Reference in New Issue
Block a user