BCC:基于 BPF 的 Linux 分析工具包

BCC:基于 BPF 的 Linux 分析工具包

精选文章moguli202025-05-08 14:18:4712A+A-

BCC 是基于 BPF 的 Linux IO 分析、监控、网络工具集合。BCC 是使用 C++ 和 Python 编写的,遵循 Apache 开源授权协议。

BPF Compiler Collection (BCC) 是创建高效内核追踪和处理程序的工具包,包含几个有用的工具和用例。BCC 扩展了 BPF (Berkeley Packet Filters) 的用途,BPF 之前被称为 eBPF,是 Linux 3.15 新增的一个新特性。BCC 大部分的功能都要求 Linux 4.1+。

Ingo Molnár 是这样描述 eBPF 的:

eBPF 程序 (用户定义,内核执行沙盒字节码) ,允许在一个 live 内核镜像中用户定义基础设施,不会再发生崩溃、挂起等问题。

BCC 让 BPF 程序更容易编写,使用 C(LLVM 包括一个 C 封装器)编写内核基础设施,前端使用 Python 和 Lua,适用于很多任务,包括性能分析和网络跟踪控制。

截图

这个用例追踪了一个硬盘 I/O 内核功能:

# ./bitehist.py Tracing... Hit Ctrl-C to end.

^C

kbytes : count distribution

0 -> 1 : 3 | |

2 -> 3 : 0 | |

4 -> 7 : 211 |********** |

8 -> 15 : 0 | |

16 -> 31 : 0 | |

32 -> 63 : 0 | |

64 -> 127 : 1 | |

128 -> 255 : 800 |**************************************|=

工具

微信订阅号:开源派 (opensourcepie)

开源派官网:osp.io 作者:叶秀兰

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2