网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 BPF之巅(洞悉Linux系统和应用性能)
分类 计算机-操作系统
作者 (美)布兰登·格雷格
出版社 电子工业出版社
下载
简介
内容推荐
基于BPF的性能优化工具提供了前所未有的系统级和应用程序级的观察能力,使用这些工具可以优化性能、调试代码、增强安全性、降低成本。本书是使用这些观察工具的全面指南。本书作为全面介绍 BPF 技术的图书,从 BPF 技术的起源到未来发展方向都有涵盖,不仅全面介绍了 BPF 的编程模型,还完整介绍了两个主要的 BPF 前端编程框架 — BCC 和 bpftrace,更给出了一系列实现范例,全面展示了 BPF技术的实际能力和未来发展前景,以及使用BPF工具优化性能、修复问题、探索线上系统的内部情况。本书的另一个关注方向是 Linux 系统性能和应用程序性能的调优。本书全面介绍了系统性能调优的策略、工具与实践案例,不仅介绍了对应的 BPF 工具,还着重介绍了这些工具如何与 Linux 传统性能工具进行互补,这样读者可以有选择地进行使用。本书介绍的工具小巧精致,且包含了简单易读的源代码,这就是 BPF 技术的魅力所在 :安全、高效、快捷的系统扩展力。未来 BPF 技术在 Linux 中的应用场景会越来越多,越来越重要。希望本书能在大家学习这项技术并关注它的发展时提供一定的便利。本书是系统管理员、应用程序开发者、运维人员,以及其他IT从业者在企业内部或云上使用各种Linux发行版时都可参考的资料。
目录
第1章 引 言
1.1 BPF和eBPF是什么
1.2 跟踪、嗅探、采样、剖析和可观测性分别是什么
1.3 BCC、bpftrace和IO Visor
1.4 初识BCC:快速上手
1.5 BPF跟踪的能见度
1.6 动态插桩:kprobes和uprobes
1.7 静态插桩:tracepoint和USDT
1.8 初识bpftrace:跟踪open()
1.9 再回到BCC:跟踪open()
1.10 小结
第2章 技术背景
2.1 图释BPF
2.2 BPF
2.3 扩展版BPF
2.3.1 为什么性能工具需要 BPF 技术
2.3.2 BPF 与内核模块的对比
2.3.3 编写 BPF 程序
2.3.4 使用 BPF 查看指令集 :bpftool
2.3.5 使用 bpftrace 查看 BPF 指令集
2.3.6 BPF API
2.3.7 BPF 并发控制
2.3.8 BPF sysfs 接口
2.3.9 BPF 类型格式
2.3.10 BPF CO-RE
2.3.11 BPF 的局限性
2.3.12 BPF 扩展阅读资料
2.4 调用栈回溯
2.4.1 基于帧指针的调用栈回溯
2.4.2 调试信息
2.4.3 最后分支记录
2.4.4 ORC
2.4.5 符号
2.4.6 扩展阅读
2.5 火焰图
2.5.1 调用栈信息
2.5.2 对调用栈信息的剖析
2.5.3 火焰图
2.5.4 火焰图的特性
2.5.5 火焰图的变体
2.6 事件源
2.7 kprobes
2.7.1 kprobes 是如何工作的
2.7.2 kprobes 接口
2.7.3 BPF 和 kprobes
2.7.4 关于 kprobes 的更多内容
2.8 uprobes
2.8.1 uprobes 是如何工作的
2.8.2 uprobes 接口
2.8.3 BPF 与 uprobes
2.8.4 uprobes 的开销和未来的工作
2.8.5 扩展阅读
2.9 跟踪点
2.9.1 如何添加跟踪点
2.9.2 跟踪点的工作原理
2.9.3 跟踪点的接口
2.9.4 跟踪点和 BPF
2.9.5 BPF 原始跟踪点
2.9.6 扩展阅读
2.10 USDT
2.10.1 添加 USDT 探针
2.10.2 USDT 是如何工作的
2.10.3 BPF 与 USDT
2.10.4 USDT 的更多信息
2.11 动态USDT
2.12 性能监控计数器
2.12.1 PMC 的模式
2.12.2 PEBS
2.12.3 云计算
2.13 perf_events
2.14 小结
第3章 性能分析
3.1 概览
3.1.1 目标
3.1.2 分析工作
3.1.3 多重性能问题
3.2 性能分析方法论
3.2.1 业务负载画像
3.2.2 下钻分析
3.2.3 USE 方法论
3.2.4 检查清单法
3.3 Linux 60秒分析
3.3.1 uptime
3.3.2 dmesg | tail
3.3.3 vmstat 1
3.3.4 mpstat -P ALL 1
3.3.5 pidstat 1
3.3.6 iostat -xz 1
3.3.7 free
3.3.8 sar -n DEV 1
3.3.9 sar -n TCP,ETCP 1
3.3.10 top
3.4 BCC工具检查清单
3.4.1 execsnoop
3.4.2 opensnoop
3.4.3 ext4slower
3.4.4 biolatency
3.4.5 biosnoop
3.4.6 cachestat
3.4.7 tcpconnect
3.4.8 tcpaccept
3.4.9 tcpretrans
3.4.10 runqlat
3.4.11 profile
3.5 小结
第4章 BCC
4.1 BCC的组件
4.2 BCC的特性
4.2.1 BCC 的内核态特性
4.2.2 BCC 的用户态特性
4.3 安装BCC
4.3.1 内核要求
4.3.2 Ubuntu
4.3.3 RHEL
4.3.4 其他发行版
4.4 BCC的工具
4.4.1 重点工具
4.4.2 工具的特点
4.4.3 单一用途工具
4.4.4 多用途工具
4.5 funccount
4.5.1 funccount 的示例
4.5.2 funccount 的语法
4.5.3 funccount 的单行程序
4.5.4 funccount 的帮助信息
4.6 stackcount
4.6.1 stackcount 的示例
4.6.2 stackcount 的火焰图
4.6.3 stackcount 残缺的调用栈
4.6.4 stackcount 的语法
4.6.5 stackcount 的单行程序
4.6.6 stackcount 的帮助信息
4.7 trace
4.7.1 trace 的示例
4.7.2 trace 的语法
4.7.3 trace 的单行程序
4.7.4 trace 的结构体
4.7.5 trace 调试文件描述符泄露问题
4.7.6 trace 的帮助信息
4.8 argdist
4.8.1 argdist 的语法
4.8.2 argdist 的单行程序
4.8.3 argdist 的帮助信息
4.9 工具文档
4.9.1 man 帮助文档 :opensnoop
4.9.2 示例文件 :opensnoop
4.10 开发BCC工具
4.11 BCC的内部实现
4.12 BCC的调试
4.12.1 printf() 调试
4.12.2 BCC 调试输出
4.12.3 BCC 的调试标志位
4.12.4 bpflist
4.12.5 bpftool
4.12.6 dmesg
4.12.7 重置事件
4.13 小结
第5章 bpftrace
5.1 bpftrace的组件
5.2 bpftrace的特性
5.2.1 bpftrace 的事件源
5.2.2 bpftrace 的动作
5.2.3 bpftrace 的一般特性
5.2.4 bpftrace 与其他观测
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/21 3:32:16