BPF,eBPF,eBPF,BCC:内核事件跟踪/应用性能调优/流量控制的利器

Linux的性能优化,eBPF对于内核的开发, 以及性能分析无疑是一大利器,
man bpf
BPF(Berkeley Packet Filter)
BPF在Linux中的发展大致经历三个阶段:

Linux 2.1.75最初的实现基于原有的socket接口, 被称为Linux Socket Filter(LSF)
Linux 3.0版本中,在BPF中加入JIT(Just-In-Time Compiler), 提升BPF的性能与速度
Linux 3.15开始将BPF扩展成为通用的模块, BPF不仅可用于数据包过滤, 也可以用来进行内核事件跟踪/应用性能调优/流量控制(Traffic Control)等, 代码也统一整合到了/kernel/bpf, 这也是目前被称为eBPF(extended BPF)的原因, 而早前的BPF实现则被称为cBPF(classic BPF).
LLVM编译器(Lower Level Virtual Machine)
BCC(BPF Compilation Collection)的eBPF工具集合, 这个工具集合把所有eBPF内核代码编写/编译以及错误处理的流程都封装好了
from:http://sniffer.site/2019/11/07/BPF%E4%B8%8EeBPF/

猜你喜欢

转载自blog.csdn.net/wc996789331/article/details/115056121
今日推荐