BPF之巅 洞悉Linux系统和应用性能——学习(一)

前言

什么是BPF?

为什么需要BPF性能工具? 或BPF工具与其他工具的不可替代优点?

BPF工具如何使用?

本人将带着这三个疑问学习这本砖头书,因本人对性能这块几乎近于小白,需要查阅其他资料,也可能会存在错误,或许也不能对别人有所帮助,但因为担心这个而羞于展示自己的学习,有点因小失大。我权当自己的读书笔记吧。那么开始喽!

第1章 引言

本章会引入一些关键的术语,概览相关技术,并演示一些BPF性能分析工具。后续章节会对相关技术进行更详细的阐述。

1.1   BPF和eBPF是什么

BPF是Berkeley Packet Filter(伯克利数据包过滤器)的缩写,这项技术诞生于1992,其作用是提升网络包过滤工具的性能。由于后续的完善,相关工作在2014年正式并入Linux内核主线。此举将BPF变成了一个更通用的执行引擎,其可以完成多种任务,包括用来创建先进的性能分析工具。

简单来说,BPF提供了一种在各种内核事件和应用程序事件发生时运行一段小程序的机制,如果熟悉JavaScript,可能会看到类似之处:JavaScript允许网站在浏览器中发生某事件(比如鼠标单击)时运行一段小程序,这样就催生了各式各样基于Web的应用程序。BPF则允许内核在系统和应用程序事件(如磁盘I/O事件)发生时运行一段小程序,这样就催生了新的系统编程技术。该技术将内核变得完全可编程,允许用户定制和控制他们的系统,以解决现实问题。

你可能感兴趣的:(性能学习,linux,性能优化)