泽兴芝士网

一站式 IT 编程学习资源平台

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

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 作者:叶秀兰

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言