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

本文介绍了BPF在Linux中的发展历程,从最初的Linux Socket Filter到加入JIT后的性能提升,再到eBPF作为通用模块的应用扩展。eBPF不仅用于数据包过滤,还能进行内核事件跟踪、应用性能调优及流量控制等。

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/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值