BPF之巔:洞悉Linux系統和套用性能

BPF之巔:洞悉Linux系統和套用性能

《BPF之巔:洞悉Linux系統和套用性能》是2020年電子工業出版社出版的圖書,作者是[美]Brendan Gregg(布蘭登.格雷格)。

基本介紹

  • 中文名:BPF之巔:洞悉Linux系統和套用性能
  • 作者:[美]Brendan Gregg(布蘭登.格雷格)
  • 譯者:孫宇聰、呂宏利、劉曉舟
  • 出版時間:2020年12月
  • 出版社電子工業出版社
  • 頁數:856 頁
  • ISBN:9787121399725
  • 定價:199.00 元
  • 開本:16 開
內容簡介,作者簡介,圖書目錄,

內容簡介

《BPF之巔:洞悉Linux系統和套用性能》作為全面介紹 BPF 技術的圖書,從 BPF 技術的起源到未來發展方向都有涵蓋,不僅全面介紹了 BPF 的編程模型,還完整介紹了兩個主要的 BPF 前端編程框架 — BCC 和 bpftrace,更給出了一系列實現範例,生動展示了 BPF技術的實際能力和未來發展前景。
本書的另一個關注方向是 Linux 系統性能和應用程式性能的調優。內容涉及系統性能調優的策略、工具與實踐案例,不僅介紹了對應的 BPF 工具,還著重介紹了這些工具如何與 Linux 傳統性能工具進行互補,這樣讀者可以有選擇地進行使用。
本書介紹的工具小巧精緻,並提供了簡單易讀的原始碼,它們展示了 BPF 技術的魅力所在 :安全、高效、快捷的系統擴展力。未來 BPF 技術在 Linux 中的套用場景會越來越多,越來越重要。希望本書能在大家學習 BPF 技術並關注它的發展時提供幫助。
《BPF之巔:洞悉Linux系統和套用性能》是2020年12月電子工業出版社出版的圖書,作者為[美]Brendan Gregg(布蘭登.格雷格),譯者為孫宇聰、呂宏利、劉曉舟。
作為BPF技術的開拓者和專家,Brendan Gregg在本書中不僅展示了超過150個可以立即使用的分析工具和調試工具,對這些工具的套用場景進行了分析,還提供了開發自定義工具的分步指南。在本書中,讀者可學習到如何分析CPU、記憶體、存儲設備、檔案系統、網路、程式語言、應用程式、容器、虛擬機管理器、安全及核心。Gregg帶領讀者由淺入深地了解從基礎工具到進階工具的使用,幫助讀者收集更有用、更深入的技術信息,可以用來最佳化幾乎任何類型的Linux系統和應用程式。

作者簡介

Brendan Gregg(布蘭登.格雷格)
Netflix 高級性能工程師
Brendan Gregg 是 BPF(eBPF)的主要貢獻者,他幫助開發和維護了兩個主要的 BPF 前端框架,開創了 BPF 用於可觀測性的先河,並創建了數十種基於 BPF 的性能分析工具。他編著的暢銷書有《性能之巔:洞悉系統、企業與雲計算》。
譯者介紹
孫宇聰:現任 Facebook 運維工程師經理,曾在谷歌工作多年,任谷歌高級SRE(Senior Site Reliblity Engineer),Coding.net 前技術負責人,譯有《SRE:Google運維解密》《架構整潔之道》等經典暢銷技術圖書。
呂宏利,資深SRE,現任職於谷歌基礎架構部。之前曾負責谷歌搜尋廣告和內容廣告系統運維工作,有多年分散式系統研發與運維經驗。對運維工具平台建設、監控、套用性能跟蹤及分析、數據化運維等方面有深入的研究。
劉曉舟,畢業於北京大學計算機系,現供職於位元組跳動公司系統部,任系統架構師。他在位元組跳動主持構建了基於 eBPF 的大規模性能分析和網路監控診斷平台,閒暇時間也在相關開源社區提交代碼。在加入位元組跳動之前,他有 10 年國家部委電子政務和大數據研究經歷。

圖書目錄

第1章 引 言.................................................................................................................1
1.1 BPF和eBPF是什麼 .............................................................................................. 1
1.2 跟蹤、嗅探、採樣、剖析和可觀測性分別是什麼 .......................................... 2
1.3 BCC、bpftrace和IO Visor ................................................................................... 3
1.4 初識BCC:快速上手 .......................................................................................... 4
1.5 BPF跟蹤的能見度 ............................................................................................... 7
1.6 動態插樁:kprobes和uprobes ............................................................................ 8
1.7 靜態插樁:tracepoint和USDT ........................................................................... 9
1.8 初識bpftrace:跟蹤open() ................................................................................ 10
1.9 再回到BCC:跟蹤open() ................................................................................. 13
1.10 小結 .................................................................................................................. 15
第2章 技術背景...........................................................................................................16
2.1 圖釋BPF ............................................................................................................. 16
2.2 BPF ..................................................................................................................... 17
2.3 擴展版BPF ......................................................................................................... 18
2.3.1 為什麼性能工具需要 BPF 技術 ......................................................... 21
2.3.2 BPF 與核心模組的對比 ......................................................................23
2.3.3 編寫 BPF 程式 .....................................................................................23
2.3.4 使用 BPF 查看指令集 :bpftool ..........................................................24
2.3.5 使用 bpftrace 查看 BPF 指令集 .......................................................... 32
2.3.6 BPF API ................................................................................................ 33
2.3.7 BPF 並發控制 ......................................................................................37
2.3.8 BPF sysfs 接口 ..................................................................................... 38
2.3.9 BPF 類型格式 ......................................................................................38
2.3.10 BPF CO-RE ........................................................................................ 39
2.3.11 BPF 的局限性 ..................................................................................... 40
2.3.12 BPF 擴展閱讀資料 ............................................................................40
2.4 調用棧回溯 ........................................................................................................ 41
2.4.1 基於幀指針的調用棧回溯 ................................................................... 41
2.4.2 調試信息 ............................................................................................... 42
2.4.3 最後分支記錄 ....................................................................................... 43
2.4.4 ORC ...................................................................................................... 43
2.4.5 符號 ....................................................................................................... 43
2.4.6 擴展閱讀 ............................................................................................... 43
2.5 火焰圖 ................................................................................................................ 44
2.5.1 調用棧信息 ........................................................................................... 44
2.5.2 對調用棧信息的剖析 ........................................................................... 44
2.5.3 火焰圖 ................................................................................................... 45
2.5.4 火焰圖的特性 ....................................................................................... 47
2.5.5 火焰圖的變體 ....................................................................................... 48
2.6 事件源 ................................................................................................................ 48

相關詞條

熱門詞條

聯絡我們