1 简介
本文主要是对Brendan Gregg的两本书的学习记录,两本书的名字如下:
- 《BPF Performance Tools, Linux System and Application Observability》(《BPF之巅,洞悉Linux系统和应用性能》)
- 《Systems Performance》(Second Edition)
2 BPF performance tools: prior and new
3 BCC工具集
以下内容只是BCC工具集中的一部分
3.1 多用途
3.2 系统调用
3.3 网络
3.4 调度器
3.5 内存
3.6 VFS
3.7 块设备
3.8 CPU
3.9 其他工具
《奔跑吧Linux内核》卷2:调试与案例分析; P225
《BPFPerformanceTools-BrendanGregg》P19, P39, P179
4 bpftrace工具集
以下是部分bpftrace工具
4.1 网络
4.2 系统调用
4.3 块设备
4.4 调度器
4.5 内存
4.6 文件系统
4.7 VFS
4.8 其他
《BPF之巅.洞悉Linux系统和应用性能》P143
5 perf-tools
6 汇总
6.1 CPU与调度(运行时间、等待时间、运行队列、线程开始运行、结束运行)
6.2 获取函数级别的信息
6.3 内存
6.3.1 页交换(swap)
6.3.2 页回收
6.3.3 缺页错误 / 缺页异常
6.3.4 页迁移
6.3.5 页压缩
6.3.6 巨型页
6.3.7 内存分配
7 自己开发工具
7.1 python语言
《BPF之巅.洞悉Linux系统和应用性能》P778
7.2 C语言
《BPF之巅.洞悉Linux系统和应用性能》P793
7.3 bpftrace编程
《BPF之巅.洞悉Linux系统和应用性能》P146