# 1. perf bench 如何对内核子系统进行基准测试? A perf bench 只能用于跟踪系统调用,不能做基准测试 B perf bench 是实时监控工具,可替代 top 使用 C perf bench 只能对用户态应用进行性能剖析 D perf bench 用于对内核各子系统进行标准化微观基准测试,适合版本与配置变更前后的性能对比 ✓ 正确答案
# 2. perf sched 如何分析调度延迟与唤醒事件? A perf sched 通过记录调度事件分析任务的唤醒与调度延迟,适合定位 CPU 调度抖动类问题 ✓ 正确答案 B perf sched 用来分析函数热点,生成火焰图 C perf sched 只能统计 CPU 使用率 D perf sched 用于分析磁盘 IO 延迟
# 3. bpftrace 单行脚本在实时排障中的典型用例 A bpftrace 基于 eBPF 探针运行小型程序,可实时观测系统调用、文件与网络行为 ✓ 正确答案 B bpftrace 需要重新编译内核才能使用 C bpftrace 只能分析静态日志文件 D bpftrace 不需要任何权限即可跟踪所有进程
# 4. iostat -x 中 await、r_await、w_await 等指标的含义与解读 A await 只包含磁盘服务时间,不含排队时间 B util 达到 100% 必然代表磁盘已达到性能极限 C await 大于 svctm 说明请求在队列中等待,瓶颈可能在磁盘吞吐能力 ✓ 正确答案 D svctm 在新内核中仍是最可靠的性能指标
# 5. offcpu 分析定位阻塞态进程的工具链(perf/bcc/offcputime) A offcpu 分析用于统计进程在 CPU 上的运行时间 B offcpu 分析只能用于内核态问题 C offcputime 类工具量化进程处于阻塞/睡眠状态的时间,适合定位等待类延迟问题 ✓ 正确答案 D perf 无法记录调度事件
# 6. perf record + FlameGraph 火焰图生成与解读 A 火焰图 x 轴表示函数执行时间的长短 B 火焰图不需要调用栈数据即可生成 C 火焰图 y 轴表示 CPU 核心数量 D 火焰图 x 轴表示采样占比,栈顶为采样时正在执行的函数 ✓ 正确答案
# 7. perf 的采样与跟踪模式如何用于性能剖析(profiling)? A 采样模式记录每个事件的完整现场,数据量大 B 两种模式开销完全相同 C 跟踪模式不能记录系统调用 D 采样模式以周期性采样获得概率分布,开销低,适合找热点;跟踪模式全量记录事件,开销大 ✓ 正确答案
# 8. sar -W 如何查看系统换页(paging)统计? A pswpin/s 表示每秒从交换区换入内存的页面数,持续非零说明内存频繁换页 ✓ 正确答案 B sar -W 显示的是 page cache 回收统计 C pswpout/s 表示每秒网络发送的数据包数 D sar -W 只能查看 CPU 使用率
# 9. strace -p 如何附着到正在运行的进程进行跟踪? A strace -p 会永久修改目标进程代码 B strace -p 通过 ptrace 附着跟踪系统调用,受 ptrace_scope 限制,且会对目标进程产生显著性能开销 ✓ 正确答案 C strace 不能跟踪多线程进程 D strace -p 无需任何权限即可跟踪任何用户进程
# 10. top/vmstat/iostat 的联合解读中 CPU、内存、IO 指标的关联分析以及 vmstat 的 run queue 与 swap 字段如何反映负载形态 A wa 高说明内存不足 B vmstat 的 r 列长期大于 CPU 核数通常说明 CPU 超载 ✓ 正确答案 C load 高但 CPU 空闲说明 CPU 是瓶颈 D si/so 与内存换页无关
# 11. 如何把 OS 级观测(top/vmstat/perf)与应用级观测(JVM GC、应用日志、APM)组合定位端到端性能问题 A 应用层观测无法与 OS 层数据对齐 B OS 层指标足够定位所有性能问题 C 应用响应慢但系统资源空闲时,问题通常是锁等待或下游依赖,需要应用层证据 ✓ 正确答案 D 响应慢时 CPU 必然飙高
# 12. perf record 的采样原理(周期采样与上下文切换采样)如何影响火焰图热点函数的准确性与采集开销 A 上下文切换采样适合函数级热点分析 B 采样频率不影响火焰图准确性 C 采样频率越高火焰图越准确,但采集开销与数据量也越大 ✓ 正确答案 D 火焰图反映的是函数真实执行时间的精确值
# 13. 实时观测与历史回放工具的分工中 sar 历史数据、perf 事件记录与实时 top 在性能排障中的配合方式 A sar 只能查看实时数据 B sar 历史数据依赖 sysstat 定时采集,可回放事发窗口定位恶化起点 ✓ 正确答案 C perf 事件记录不能事后分析 D 历史数据保留策略与排障取证无关
# 14. 性能告警阈值设计中 CPU/内存/IO 的静态阈值与动态基线告警在误报与漏报上的权衡 A 静态阈值对任何业务形态都同样适用 B 动态基线可自适应业务周期性,但存在冷启动与模型误判风险,通常与静态阈值分层组合使用 ✓ 正确答案 C 告警越灵敏越好,不存在误报问题 D 动态基线不需要历史数据
# 15. 性能基线的建立与异常检测中如何用历史分位数与季节性模型识别性能退化而不是依赖静态阈值 A 季节性模型无法处理周期数据 B 性能基线一旦建立就无需更新 C 分位数比均值更能抵御离群点干扰,适合刻画性能基线 ✓ 正确答案 D 基线方法只能识别超过静态阈值的故障
# 16. 性能数据存储的采样与降精度策略中时序数据库的保留策略、降采样与高基数控制如何设计 A 高基数只会影响磁盘空间,不影响查询性能 B 降采样不会丢失任何信息 C 保留策略与数据精度无关 D 指标标签中加入用户 ID 等动态值会放大基数,导致序列数指数增长 ✓ 正确答案
# 17. 指标采集的 pull 与 push 模型差异中 Prometheus 拉取与 StatsD/Telegraf 推送在服务发现、生命周期与故障隔离上的取舍 A Prometheus 不支持批处理任务指标 B push 模型可以天然区分目标故障与上报缺失 C pull 模型将健康探测与抓取耦合,目标需可直达并依赖服务发现 ✓ 正确答案 D push 模型不存在数据混乱风险