JFR 转火焰图工具
JFR 是 JDK 自带的一站式采集器,但它的堆栈默认不是火焰图形态。把它转成火焰图要处理事件类型选择(cpu / wall / alloc)、帧折叠与权重口径三件事,本文给出可直接用的参数与工具。
该主题下共 3 篇文章,按发布时间倒序。
JFR 是 JDK 自带的一站式采集器,但它的堆栈默认不是火焰图形态。把它转成火焰图要处理事件类型选择(cpu / wall / alloc)、帧折叠与权重口径三件事,本文给出可直接用的参数与工具。
程序同时跑 CPU 与 GPU 代码时,单独看任何一侧的火焰图都会误判瓶颈。混合采样的难点不在画图,而在两条采样流的时间对齐与损耗控制——采样本身上限决定了工具能不能上生产。
用 padding 填充 long 字段隔离两个 volatile 变量,实测却毫无提升——因为填充解决的是「同一缓存行内不同字段」的竞争,而伪共享的判定要退到 MESI 协议与缓存行对齐去看。这篇给出可复现的判定顺序。