您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
深入理解eBPF与可观测性
字数: 444
出版社: 机械工业
作者: 毛文安//郑昱笙//程书意//廖肇燕|
商品条码: 9787111774808
适读年龄: 12+
版次: 1
开本: 16开
页数: 336
出版年份: 2025
印次: 1
定价:
¥99
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书由龙蜥社区操作系统及eBPF专家联合撰写,带领读者一次性学透eBPF原理与Linux可观测性,让性能与安全问题无所遁形,效果立竿见影。具体来说,本书系统介绍eBPF技术生态、特性、五大主流开发框架,并深度剖析应用、网络、内存、I/O、调度、安全六大关键Linux可观测性实践。 本书共9章,从逻辑上分为两部分。第一部分为eBPF基础(第1~3章):第1章概述eBPF技术的发展历程和应用场景;第2章深入解析eBPF的指令集、辅助函数及程序类型设计原理;第3章介绍如何使用libbpf、BCC、eunomia-bpf、Coolbpf等工具开发eBPF程序,尤其是BTF和CO-RE技术的应用。第二部分为eBPF可观测性实践(第4~9章),第4章探讨eBPF在用户态应用层面的可观测实践,如Java应用的GC观测;第5章讲解内核网络收发包流程及使用eBPF分析网络抖动的方法;第6章介绍内存性能瓶颈的优化方法,包括使用eBPF检测内存分配延迟和内存泄漏;第7章分析I/O子系统的原理和性能瓶颈点,并介绍使用eBPF监测I/O延迟分布和I/O卡顿问题;第8章介绍eBPF在调度系统上的观测实践,包括长时间关中断和持续性能追踪等;第9章则聚焦于eBPF在系统安全上的实践,如使用LSM进行安全防御、监控进程的各种行为等。
作者简介
毛文安:阿里云高级技术专家,龙蜥社区eBPF技术探索SIG(特别兴趣小组)及“酷玩BPF”公众号负责人,龙蜥社区“eBPF技术实践白皮书”主要作者,也是系统智能运维平台SysOM以及eBPF开发功能库Coolbpf的架构师。具有十余年Linux操作系统开发、维护及性能调优经验,目前专注内核网络、AI等新特性的研究与实践。<br />郑昱笙:开源维护者、UCSC博士生、eunomia-bpf开源社区共同创办人。主导开发了bpftime(用户态eBPF运行时)等项目,拓展了eBPF在用户态的应用,目前积极探索eBPF在大模型(LLM)推理优化等领域的潜在应用。长期活跃于开源社区,并多次担任KubeCon、Linux Plumber等知名会议的演讲者。<br />程书意:阿里云开发工程师,龙蜥社区eBPF技术探索SIG核心成员,Coolbpf项目维护者,龙蜥社区“eBPF技术实践白皮书”作者之一。专注于内核网络优化与eBPF技术,擅长系统性能调优和故障排查,热衷技术分享与推广。<br />廖肇燕:阿里云技术专家、龙蜥社区“eBPF技术实践白皮书”作者之一。拥有十余年Linux开发运维经验,专注于内核问题深度定位与eBPF技术创新性应用推广,擅长系统稳定性问题定位和性能优化。
目录
Contents 目 录<br />前言<br />第1章 eBPF的发展与应用1<br />1.1 eBPF概述1<br />1.1.1 Linux的跟踪与诊断技术简介1<br />1.1.2 eBPF的发展史3<br />1.1.3 eBPF与cBPF的功能区别4<br />1.1.4 eBPF与内核模块5<br />1.1.5 eBPF的优势与劣势5<br />1.2 eBPF应用场景6<br />1.2.1 eBPF跟踪与性能分析7<br />1.2.2 eBPF与可观测8<br />1.2.3 eBPF与网络14<br />1.2.4 eBPF与安全14<br />1.3 eBPF基础架构16<br />1.3.1 eBPF加载流程和相关组件17<br />1.3.2 eBPF的JIT编译原理18<br />1.3.3 eBPF的挂载与执行22<br />1.4 本章小结22<br />第2章 eBPF的特性解析23<br />2.1 eBPF指令架构23<br />2.1.1 cBPF指令集24<br />2.1.2 eBPF指令集25<br />2.1.3 使用C语言编写eBPF程序34<br />2.1.4 使用汇编语言编写eBPF程序35<br />2.1.5 使用字节码编写eBPF程序37<br />2.2 eBPF系统调用40<br />2.2.1 eBPF系统调用的函数原型40<br />2.2.2 eBPF系统调用的类型40<br />2.2.3 eBPF系统调用的数据<br /> 结构解析41<br />2.3 eBPF辅助函数43<br />2.3.1 eBPF辅助函数的设计43<br />2.3.2 eBPF辅助函数的实现47<br />2.4 eBPF程序类型设计49<br />2.4.1 eBPF程序类型49<br />2.4.2 验证器接口设计51<br />2.4.3 测试接口设计52<br />2.4.4 卸载接口设计53<br />2.5 跟踪诊断类eBPF程序54<br />2.5.1 kprobe/kretprobe类程序55<br />2.5.2 uprobe/uretprobe类程序58<br />2.5.3 tracepoint类程序60<br />2.5.4 perf事件类程序63<br />2.6 网络处理类:XDP程序66<br />2.6.1 XDP基本原理67<br />2.6.2 XDP应用场景68<br />2.6.3 XDP内核解析69<br />2.7 本章小结73<br />第3章 eBPF开发框架74<br />3.1 libbpf74<br />3.1.1 使用libbpf开发eBPF程序75<br />3.1.2 BPF类型格式79<br />3.1.3 CO-RE功能82<br />3.2 BCC85<br />3.2.1 环境配置86<br />3.2.2 使用BCC开发eBPF程序88<br />3.2.3 编译运行90<br />3.3 bpftrace90<br />3.3.1 环境配置91<br />3.3.2 使用bpftrace开发eBPF程序92<br />3.3.3 编译运行95<br />3.4 eunomia-bpf96<br />3.4.1 环境配置97<br />3.4.2 使用eunomia-bpf?开发<br /> eBPF程序98<br />3.4.3 编译运行100<br />3.5 Coolbpf?100<br />3.5.1 环境配置102<br />3.5.2 使用Coolbpf开发eBPF<br /> 程序102<br />3.5.3 编译运行103<br />3.6 eBPF开发框架对比104<br />3.7 本章小结105<br />第4章 基于eBPF的应用<br /> 可观测实践106<br />4.1 使用uprobe/USDT观测应用程序106<br />4.1.1 uprobe:用户空间的动态<br /> 追踪工具106<br />4.1.2 USDT:用户空间的静态<br /> 追踪点技术108<br />4.2 Nginx函数延迟观测与性能分析109<br />4.2.1 基于eBPF分析函数延迟110<br />4.2.2 Nginx中与性能相关的<br /> 关键函数113<br />4.2.3 测试Nginx的函数延迟115<br />4.3 Java应用的GC观测116<br />4.3.1 GC策略简介与问题<br /> 排查示例116<br />4.3.2 通过eBPF实现GC观测117<br />4.4 MySQL慢查询监测与排障实践123<br />4.4.1 慢查询的常见原因124<br />4.4.2 慢查询监测方法与示例场景124<br />4.4.3 利用bpftrace程序追踪<br /> MySQL查询126<br />4.5 观测SSL/TLS明文数据128<br />4.5.1 TLS的工作原理128<br />4.5.2 OpenSSL API工作机制分析129<br />4.5.3 sslsniff的eBPF内核<br /> 代码编写130<br />4.5.4 sslsniff的用户态代码分析135<br />4.5.5 编译与运行sslsniff工具138<br />4.6 使用eBPF跟踪Go协程状态139<br />4.6.1 跟踪Go协程状态的eBPF<br /> 内核代码140<br />4.6.2 运行eBPF程序追踪Go<br /> 协程状态141<br />4.7 本章小结142<br />第5章 基于eBPF的网络<br /> 可观测实践143<br />5.1 内核网络协议栈143<br />5.1.1 网络发包流程143<br />5.1.2 网络收包流程159<br />5.1.3 内核网络抖动问题分析168<br />5.2 网络可观测实践172<br />5.2.1 HTTP流量统计172<br />5.2.2 TCP连接信息和往返<br /> 时间分析179<br />5.2.3 XDP实现可编程包处理187<br />5.2.4 基于eBPF的流量控制实践189<br />5.2.5 基于sockmap进行数据转发192<br />5.2.6 基于sockops监测服务<br /> 响应延迟205<br />5.2.7 Virtio网卡队列可观测213<br />5.3 本章小结218<br />第6章 基于eBPF的内存<br /> 可观测实践219<br />6.1 系统内存的申请流程219<br />6.2 内存性能瓶颈点与解决思路222<br />6.2.1 常见的内存性能瓶颈222<br />6.2.2 内存性能瓶颈诊断方法225<br />6.3 实战:页面错误监控227<br />6.3.1 什么是页面错误227<br />6.3.2 有关页面错误的跟踪点228<br />6.3.3 页面错误事件可观测<br /> 实现方案229<br />6.4 实战:使用cachetop分析<br /> 文件缓存233<br />6.4.1 使用常规方法分析文件缓存233<br />6.4.2 cachetop实现原理234<br />6.4.3 cachetop内核部分代码实现235<br />6.4.4 cachetop用户部分代码实现237<br />6.4.5 运行结果239<br />6.5 实战:使用memleak跟踪<br /> 内存泄漏240<br />6.5.1 调试内存泄漏的挑战240<br />6.5.2 memleak的实现原理241<br />6.5.3 memleak内核部分代码实现242<br />6.5.4 用户态程序实现251<br />6.5.5 运行结果253<br />6.6 本章小结253<br />第7章 基于eBPF的I/O<br /> 可观测实践254&t;br />7.1 I/O子系统性能瓶颈点254<br />7.2 I/O衡量指标258<br />7.3 使用eBPF进行I/O流量分析260<br />7.3.1 iofsstat的功能260<br />7.3.2 iofsstat的实现262<br />7.4 实战:使用eBPF分析I/O延迟264<br />7.4.1 iolatency延迟分析功能介绍264<br />7.4.2 iolatency延迟分析功能实现266<br />7.4.3 其他I/O延迟分析工具介绍272<br />7.5 实战:使用eBPF分析<br /> I/O卡顿问题273<br />7.5.1 如何检测I/O hang273<br />7.5.2 实现方案274<br />7.6 统计随机/顺序磁盘的I/O请求280<br />7.6.1 biopattern工具介绍281<br />7.6.2 biopattern的实现原理281<br />7.7 本章小结287<br />第8章 基于eBPF的调度<br /> 可观测实践288<br />8.1 Linux调度子系统与eBPF<br /> 的关系288<br />8.1.1 eBPF在调度性能优化中<br /> 的应用288<br />8.1.2 调度子系统的hook点289<br />8.2 实战:关中断检测290<br />8.2.1 常用方案290<br />8.2.2 方案分析291<br />8.2.3 方案描述292<br />8.2.4 技术实现292<br />8.2.5 运行流程293<br />8.2.6 工具使用293<br />8.3 实战:统计调度延迟分布294<br />8.3.1 调度延迟的产生294<br />8.3.2 编译运行300<br />8.4 实战:捕获硬中断和软中断事件302<br />8.4.1 实现原理302<br />8.4.2 代码实现303<br />8.5 实战:持续性能追踪305<br />8.5.1 性能追踪示例306<br />8.5.2 详细实现过程307<br />8.5.3 社区中的持续性能追踪项目313<br />8.6 本章小结314<br />第9章 基于eBPF的安全<br /> 可观测实践315<br />9.1 监控进程的文件访问行为316<br />9.1.1 监控文件访问行为的实现316<br />9.1.2 运行eBPF监控文件访问<br /> 程序示例317<br />9.2 监控进程信号发送行为317<br />9.3 监控进程退出事件320<br />9.4 使用eBPF进行命令审计322<br />9.5 隐藏进程和文件信息323<br />9.5.1 信息隐藏技术的应用场景323<br />9.5.2 隐藏信息的内核态eBPF<br /> 程序实现324<br />9.5.3 隐藏信息的用户态程序实现328<br />9.5.4 运行隐藏信息的eBPF<br /> 程序示例330<br />9.6 发送信号终止恶意进程331<br />9.6.1 异常响应相关的安全场景331<br />9.6.2 终止恶意进程的eBPF<br /> 程序实现332<br />9.7 基于LSM的安全检测防御333<br />9.7.1 确认LSM模块是否可用333<br />9.7.2 安全检测防御机制实现334<br />9.8 本章小结336
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网