Async Profiler 与 JFR

共 17 题
#

1. Async Profiler 的采样原理,基于 perf_event 的 CPU 采样与 wall-clock 采样的差异,火焰图的解读要点如何?

A 采样所有线程栈,包含等待/IO 时间 ✓ 正确答案
B 只采样 CPU 线程
C 采样更少
D 无法采样
#

2. async-profiler 的锁分析,lock 事件与 Contention

A CPU 热点
B 锁竞争/等待(Contention) ✓ 正确答案
C 内存分配
D GC
#

3. JFR 与 async-profiler 的互补使用

A 低开销覆盖 JVM 内部
B 无需采样
C 自带 JDK
D 高精度火焰图定位调用栈热点 ✓ 正确答案
#

4. async-profiler 在容器/生产环境的安装与权限(perf_event_paranoid、cap_sys_admin)

A fs.file-max
B perf_event_paranoid ✓ 正确答案
C vm.swappiness
D net.core.somaxconn
#

5. JFR 事件的自定义与扩展

A jdk.jfr.Event ✓ 正确答案
B Thread
C Object
D Runnable
#

6. JFR 的 Streaming API 与实时监控

A 只能离线分析
B 必须转储
C 实时消费 JFR 事件流,可编程监控 ✓ 正确答案
D 只测 CPU
#

7. JFR 的开销评估与生产环境配置

A profile 全量
B 无限录制
C 低开销配置(default)+ 限制录制窗口 ✓ 正确答案
D 不限制
#

8. JFR 的事件流模式,jdk.jfr.consumer 的实时事件流与 JMC 分析的工程组合如何?

A 实时监控
B 发送告警
C 离线可视化深入分析 JFR 文件 ✓ 正确答案
D 采集日志
#

9. JFR 的飞行记录与事件流,录制配置、转储与分析工作流(JMC/异步转储)如何?

A jstack
B jps
C jcmd JFR.dump ✓ 正确答案
D jmap
#

10. JFR 的自动转储触发(JFR.dump、定时转储、异常/GC 触发)与归档管理

A 提高性能
B 减少事件
C 保留诊断数据且避免磁盘占满 ✓ 正确答案
D 增加线程
#

11. async-profiler 的火焰图生成与分析

A -e wall
B -e alloc
C -e lock
D -e cpu ✓ 正确答案
#

12. Async Profiler 的 allocation 与 lock 剖析,Java 与 native 栈混合采样的限制如何?

A 采样太快
B 无 native
C 依赖系统符号与权限,容器内可能无法解析 ✓ 正确答案
D 与 Java 无关
#

13. async-profiler 的火焰图解读,CPU/分配/锁火焰图分别定位什么问题?

A CPU 火焰图
B 内存火焰图
C 分配火焰图
D 锁火焰图 ✓ 正确答案
#

14. JFR 与 async-profiler 的配合,CPU 采样与事件触发的场景分工如何?

A 事件驱动监控 JVM 内部(GC/锁/异常) ✓ 正确答案
B CPU 采样火焰图
C 汇编分析
D 分配采样
#

15. async-profiler 的分配剖析,allocation profiling 与 GC 关联分析如何?

A 无关
B 高分配速率会快速填满新生代,导致 GC 频繁 ✓ 正确答案
C 分配减少 GC
D 分配只影响 Full GC
#

16. async-profiler 的 wall-clock 模式,阻塞与 IO 等待的采样分析如何?

A -e cpu
B -e lock
C -e alloc
D -e wall ✓ 正确答案
#

17. 火焰图的差分对比(diff flamegraph)如何定位版本回归

A 新版本占比减少(优化)
B 新版本占比增加(变慢/回归) ✓ 正确答案
C 无变化
D 内存