登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』深入理解eBPF与可观测性 毛文安 郑昱笙 程书意 廖肇燕

書城自編碼: 4090020
分類:簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: 毛文安 郑昱笙 程书意 廖肇燕
國際書號(ISBN): 9787111774808
出版社: 机械工业出版社
出版日期: 2025-03-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 108.9

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
从黑船来航到开罗会议:近代日本外交历程
《 从黑船来航到开罗会议:近代日本外交历程 》

售價:HK$ 140.8
论美国(附赠解读手册)
《 论美国(附赠解读手册) 》

售價:HK$ 140.8
熬通宵也要读完的中国史
《 熬通宵也要读完的中国史 》

售價:HK$ 74.8
无人机飞行原理与气象环境(第2版)
《 无人机飞行原理与气象环境(第2版) 》

售價:HK$ 31.9
理解性别差距:美国女性经济史
《 理解性别差距:美国女性经济史 》

售價:HK$ 90.2
艺术哲学
《 艺术哲学 》

售價:HK$ 96.8
从助理到合伙人-青年律师业务进阶指南
《 从助理到合伙人-青年律师业务进阶指南 》

售價:HK$ 74.8
明清白话文献与吴语语法
《 明清白话文献与吴语语法 》

售價:HK$ 217.8

 

編輯推薦:
1)多位领域大佬联袂推荐,对内容和作者予以充分肯定,强烈推荐阅读本书。2)龙蜥社区操作系统及eBPF专家联合撰写,长期一线经验总结,让你少走弯路。3)一次性学透eBPF原理与Linux可观测性,让性能与安全问题无所遁形。4)系统介绍eBPF的技术生态、底层原理以及五大主流开发框架,并深度剖析应用、网络、内存、I/O、调度、安全六大关键Linux可观测性实践,带你解决实践难题。
內容簡介:
本书由龙蜥社区操作系统及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等新特性的研究与实践。
郑昱笙:开源维护者、UCSC博士生、eunomia-bpf开源社区共同创办人。主导开发了bpftime(用户态eBPF运行时)等项目,拓展了eBPF在用户态的应用,目前积极探索eBPF在大模型(LLM)推理优化等领域的潜在应用。长期活跃于开源社区,并多次担任KubeCon、Linux Plumber等知名会议的演讲者。
程书意:阿里云开发工程师,龙蜥社区eBPF技术探索SIG核心成员,Coolbpf项目维护者,龙蜥社区“eBPF技术实践白皮书”作者之一。专注于内核网络优化与eBPF技术,擅长系统性能调优和故障排查,热衷技术分享与推广。
廖肇燕:阿里云技术专家、龙蜥社区“eBPF技术实践白皮书”作者之一。拥有十余年Linux开发运维经验,专注于内核问题深度定位与eBPF技术创新性应用推广,擅长系统稳定性问题定位和性能优化。
目錄
Contents 目  录
前言
第1章 eBPF的发展与应用1
1.1 eBPF概述1
1.1.1 Linux的跟踪与诊断技术简介1
1.1.2 eBPF的发展史3
1.1.3 eBPF与cBPF的功能区别4
1.1.4 eBPF与内核模块5
1.1.5 eBPF的优势与劣势5
1.2 eBPF应用场景6
1.2.1 eBPF跟踪与性能分析7
1.2.2 eBPF与可观测8
1.2.3 eBPF与网络14
1.2.4 eBPF与安全14
1.3 eBPF基础架构16
1.3.1 eBPF加载流程和相关组件17
1.3.2 eBPF的JIT编译原理18
1.3.3 eBPF的挂载与执行22
1.4 本章小结22
第2章 eBPF的特性解析23
2.1 eBPF指令架构23
2.1.1 cBPF指令集24
2.1.2 eBPF指令集25
2.1.3 使用C语言编写eBPF程序34
2.1.4 使用汇编语言编写eBPF程序35
2.1.5 使用字节码编写eBPF程序37
2.2 eBPF系统调用40
2.2.1 eBPF系统调用的函数原型40
2.2.2 eBPF系统调用的类型40
2.2.3 eBPF系统调用的数据
   结构解析41
2.3 eBPF辅助函数43
2.3.1 eBPF辅助函数的设计43
2.3.2 eBPF辅助函数的实现47
2.4 eBPF程序类型设计49
2.4.1 eBPF程序类型49
2.4.2 验证器接口设计51
2.4.3 测试接口设计52
2.4.4 卸载接口设计53
2.5 跟踪诊断类eBPF程序54
2.5.1 kprobe/kretprobe类程序55
2.5.2 uprobe/uretprobe类程序58
2.5.3 tracepoint类程序60
2.5.4 perf事件类程序63
2.6 网络处理类:XDP程序66
2.6.1 XDP基本原理67
2.6.2 XDP应用场景68
2.6.3 XDP内核解析69
2.7 本章小结73
第3章 eBPF开发框架74
3.1 libbpf74
3.1.1 使用libbpf开发eBPF程序75
3.1.2 BPF类型格式79
3.1.3 CO-RE功能82
3.2 BCC85
3.2.1 环境配置86
3.2.2 使用BCC开发eBPF程序88
3.2.3 编译运行90
3.3 bpftrace90
3.3.1 环境配置91
3.3.2 使用bpftrace开发eBPF程序92
3.3.3 编译运行95
3.4 eunomia-bpf96
3.4.1 环境配置97
3.4.2 使用eunomia-bpf 开发
   eBPF程序98
3.4.3 编译运行100
3.5 Coolbpf 100
3.5.1 环境配置102
3.5.2 使用Coolbpf开发eBPF
   程序102
3.5.3 编译运行103
3.6 eBPF开发框架对比104
3.7 本章小结105
第4章 基于eBPF的应用
    可观测实践106
4.1 使用uprobe/USDT观测应用程序106
4.1.1 uprobe:用户空间的动态
   追踪工具106
4.1.2 USDT:用户空间的静态
   追踪点技术108
4.2 Nginx函数延迟观测与性能分析109
4.2.1 基于eBPF分析函数延迟110
4.2.2 Nginx中与性能相关的
   关键函数113
4.2.3 测试Nginx的函数延迟115
4.3 Java应用的GC观测116
4.3.1 GC策略简介与问题
   排查示例116
4.3.2 通过eBPF实现GC观测117
4.4 MySQL慢查询监测与排障实践123
4.4.1 慢查询的常见原因124
4.4.2 慢查询监测方法与示例场景124
4.4.3 利用bpftrace程序追踪
   MySQL查询126
4.5 观测SSL/TLS明文数据128
4.5.1 TLS的工作原理128
4.5.2 OpenSSL API工作机制分析129
4.5.3 sslsniff的eBPF内核
   代码编写130
4.5.4 sslsniff的用户态代码分析135
4.5.5 编译与运行sslsniff工具138
4.6 使用eBPF跟踪Go协程状态139
4.6.1 跟踪Go协程状态的eBPF
   内核代码140
4.6.2 运行eBPF程序追踪Go
   协程状态141
4.7 本章小结142
第5章 基于eBPF的网络
    可观测实践143
5.1 内核网络协议栈143
5.1.1 网络发包流程143
5.1.2 网络收包流程159
5.1.3 内核网络抖动问题分析168
5.2 网络可观测实践172
5.2.1 HTTP流量统计172
5.2.2 TCP连接信息和往返
   时间分析179
5.2.3 XDP实现可编程包处理187
5.2.4 基于eBPF的流量控制实践189
5.2.5 基于sockmap进行数据转发192
5.2.6 基于sockops监测服务
   响应延迟205
5.2.7 Virtio网卡队列可观测213
5.3 本章小结218
第6章 基于eBPF的内存
    可观测实践219
6.1 系统内存的申请流程219
6.2 内存性能瓶颈点与解决思路222
6.2.1 常见的内存性能瓶颈222
6.2.2 内存性能瓶颈诊断方法225
6.3 实战:页面错误监控227
6.3.1 什么是页面错误227
6.3.2 有关页面错误的跟踪点228
6.3.3 页面错误事件可观测
   实现方案229
6.4 实战:使用cachetop分析
   文件缓存233
6.4.1 使用常规方法分析文件缓存233
6.4.2 cachetop实现原理234
6.4.3 c
內容試閱
Preface 前  言
为什么要写这本书
在当今快速发展的技术领域,Linux内核作为开源操作系统的核心,面临着越来越多的挑战。而eBPF作为Linux内核中的一项革命性技术,为我们提供了一种全新的方式来观察和微调系统的状态与行为。随着大模型和人工智能(AI)的迅猛发展,理解和优化操作系统的性能变得尤为重要,这不仅影响着应用程序的表现,还决定着我们如何利用大规模计算资源。
与此同时,随着云原生技术和微服务应用的不断进步,可观测性的技术基石—日志、链路追踪和监控指标,尤其是近年来备受推崇的持续性能优化能力,几乎都在利用eBPF来实现对应用和服务的观测。行业中涌现出了如Pixie、OpenTelemetry等优秀的开源项目。在网络领域,著名的Cilium项目是基于eBPF 开发的,而在安全领域,eBPF的LSM技术正在被应用于开源的安全项目(如Falco)中。eBPF技术已成为云原生社区备受瞩目的技术话题之一。
尽管eBPF技术备受关注,但人们对其底层原理,特别是它与内核的关系,理解得并不充分。市场上关于这方面的书籍非常少,特别是专门讨论eBPF技术在Linux内核各子系统中应用的书籍更是凤毛麟角。为此,我们编写了本书,内容涵盖eBPF的指令架构、CO-RE编程原理,并结合Linux内核层面的应用、网络、内存、I/O、调度、安全进行原理和代码级别的深入探讨,使读者能够知其所以然。
本书特色
本书具有以下特色。
1.为专业开发者量身定制
本书专为从事可观测系统开发、云原生应用系统及操作系统开发、网络及安全领域开发工作的eBPF用户打造。本书将深入探讨eBPF的底层工作原理,详细介绍Linux各个子系统的关键技术和数据结构。结合eBPF技术,本书将帮助你解决系统运维中遇到的性能瓶颈和故障定位等问题,并提供丰富的实战案例。
2.满足现代开发需求
许多开发者使用Java、Go等高级语言构建上层应用,但往往忽略了底层系统的重要性,面对CPU性能瓶颈等问题时,常常感到无从下手。本书将帮助你在开发可观测性系统时,更好地定位和解决内核层面的问题。
3.深入Linux内核,掌握核心技术
本书不仅深入探讨eBPF的指令架构和开发方式,还将结合Linux的网络、I/O、内存和调度子系统进行实践。你不仅能深入了解Linux内核的数据结构,还能通过eBPF掌握解析Linux内核状态和行为的方法,特别是复杂的定位和性能分析技巧。
4.结合实际案例,提升系统效能
在探索eBPF时,我们将不局限于技术层面的介绍,还会结合实际案例展示如何利用eBPF监测和优化Linux内核的性能,进而支持系统的高效运作。底层系统的良好运作是实现高效业务的基础。
读者对象
本书的目标读者包括应用开发者、eBPF技术爱好者及可观测领域、操作系统领域的从业人员。
如何阅读本书
虽然在介绍每个Linux子系统可观测实践之前,本书尽量概述了该子系统的技术原理以及eBPF程序可能用到的数据结构,但还是建议读者在阅读之前,先行了解操作系统的一些基础概念,比如进程创建、虚拟文件系统、内存分配和释放、socket通信等内容。
本书从逻辑上分为两大部分,共9章。
第一部分为eBPF基础(第1~3章),介绍eBPF的应用场景和发展历程、指令架构及eBPF的编程方法。
第1章概述了eBPF技术的发展历程,介绍了它在网络、安全、故障诊断和性能分析等领域的应用场景,并阐述了eBPF的基础架构。本章旨在让读者全面了解eBPF是什么、能实现哪些功能,以及如何将其应用到各自的学习、研究和工作中。
第2章详细介绍了eBPF关键特性解析,包括eBPF指令集、辅助函数和程序类型设计原理,帮助读者更深刻地理解和认识eBPF底层原理,特别是在Linux内核中的具体实现。
第3章介绍如何使用libbpf、BCC、eunomia-bpf、Coolbpf等开源项目开发eBPF程序,特别是详细介绍了BTF和CO-RE技术,帮助读者进一步掌握独立开发eBPF程序的技能。
第二部分为eBPF可观测性实践(第4~9章),介绍eBPF在Linux的用户态应用、内核网络、内存、I/O、调度及安全方面的可观测实践案例。
第4章介绍如何使用eBPF在用户应用层面进行可观测实践,如Java应用的GC观测,帮助读者掌握使用eBPF分析微服务应用的性能、延迟、报文数据的方法,进一步理解eBPF的能力。
第5章介绍内核网络的收发包流程、网络抖动问题分析,以及内核网络的可观测性实践,帮助读者掌握使用eBPF分析网络抖动的方法。
第6章主要介绍内存性能瓶颈的优化方法,帮助读者掌握使用eBPF对内存分配延迟、内存泄漏等常见问题进行观测的方法。
第7章介绍I/O子系统的原理和性能瓶颈点,帮助读者掌握使用eBPF对I/O延迟分布、I/O卡顿等问题进行观测的方法。
第8章介绍eBPF在调度系统上的观测实践,如长时间关中断、持续性能追踪等,帮助读者掌握使用eBPF对调度延迟进行分析的方法。
第9章介绍eBPF在系统安全上的实践,如使用LSM进行安全防御以及监控进程的各种行为等。
勘误和支持
因笔者水平有限,书中难免存在一些不足,如果读者在阅读过程中发现疏漏,或者遇到难以理解的知识点,可以发电

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2025 (香港)大書城有限公司  All Rights Reserved.