Appearance
tools/code/ —— 代码级定位工具
系统资源指标只能告诉你"哪里是瓶颈",要定位到具体哪行代码/哪个函数烧 CPU,需要代码级分析工具。本目录 7 篇。
全局地图见 ../../overview.md;工具总索引见 ../README.md。
- perf.md —— perf 实战:采样调用栈 + 火焰图,定位函数/代码行级热点。
perf top实时看、perf record+perf report事后分析、火焰图生成 - perf-internals.md —— perf 原理:
perf_event_open/PMU 采样/mmap 环形缓冲区/数据如何落盘到perf.data/libperf 编程接口 - perf-advanced.md —— perf高级使用指南:硬件性能计数器、汇编级分析、内核动态追踪、缓存伪共享分析、锁竞争分析、调度器分析
- perf-sched.md —— perf sched 完全指南:调度延迟分析 (latency)、时间线可视化 (timehist)、5 大实战场景
- perf-multithread-io-analysis.md —— perf 三步分析法:多线程+IO 混合程序的初步诊断(宏观体检 → 按线程拆分 → 异常模式深入)
- strace.md —— 追踪系统调用:抓进程发了哪些 syscall、耗时多少,定位 stime(内核态 CPU)高的元凶
- gdb.md —— GNU 调试器系统教程:崩溃还原/死锁定位/逻辑错误排查——启动三式、基本调试循环、断点/观测点体系、执行控制、内存检视、多线程、core 分析、批处理自动化,附场景速查与命令速查总表
配套:perf 看 IPC 低时该查什么见 ../../overview.md §五(IPC 暗线速查表),strace 抓到的 syscall 执行原理见 ../../concepts/process/syscall.md。
一句话:
top/pidstat告诉你 CPU 高,perf告诉你是哪个函数烧的,strace告诉你是不是狂调 syscall 导致的——三者是递进关系。