
BCC 是一个用于创建高效内核跟踪和操作程序的工具包,包含多个有用的工具和示例。它利用了扩展的 BPF(Berkeley Packet Filters),正式名称为 eBPF,这是一个首次添加到 Linux 3.15 的新特性。BCC 使用的大部分功能需要 Linux 4.1 及以上版本。
Ingo Molnár 对 eBPF 的描述如下:
这个周期中一个更有趣的特性是能够将 eBPF 程序(用户定义的、沙盒化的字节码由内核执行)附加到 kprobes。这允许用户对活动内核映像进行自定义检测,永远不会崩溃、挂起或对内核产生负面影响。
BCC 使 BPF 程序更易于编写,可以用 C 语言进行内核检测(并包含 LLVM 的 C 语言封装),以及 Python 和 Lua 前端。它适用于许多任务,包括性能分析和网络流量控制。
这个例子跟踪了一个磁盘 I/O 内核函数,并在内核中填充了一个 I/O 大小的 2 次方直方图。为了效率,只有直方图摘要会返回到用户级。
# ./bitehist.py 正在跟踪...按 Ctrl-C 结束。 ^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 |**************************************|
上面的输出显示了一个双峰分布,其中最大的模式是 800 次 I/O,大小在 128 到 255 KB 之间。
查看源代码:bitehist.py。跟踪的内容、存储的内容以及数据的呈现方式都可以完全自定义。这只展示了众多可能功能中的一部分。
请参阅 INSTALL.md 了解您平台上的安装步骤。
请参阅 FAQ.txt 了解最常见的故障排除问题。
请参阅 docs/reference_guide.md 获取 bcc 和 bcc/BPF API 的参考指南。
其中一些是包含 C 和 Python 的单个文件,其他一些有一对 .c 和 .py 文件,还有一些是文件目录。
示例:
帮助自省BPF程序的工具。
BPF保证加载到内核中的程序不会崩溃,也不会永远运行,但BPF又足够通用,可以执行多种任意类型的计算。目前,可以用C语言编写一个程序,编译成有效的BPF程序,但编写一个编译成无效BPF的C程序要容易得多(C语言就是这样)。用户在尝试运行程序之前不会知道它是否有效。
有了专门的BPF前端,人们应该能够用一种语言编写程序,并从编译器那里得到关于其在BPF后端的有效性的反馈。这个工具包旨在提供一个只能创建有效BPF程序的前端,同时仍然充分利用其灵活性。
此外,当前与BPF的集成工作流程有些笨拙,有时涉及直接在Linux内核源代码树中编译。这个工具链旨在最大限度地减少开发人员编译BPF所花费的时间,而将重点放在可以用BPF编写的应用程序和可以用BPF解决的问题上。
这个工具包的特点包括:
未来,很可能会支持更多的绑定,而不仅仅是Python。随时添加对你选择的语言的支持并发送拉取请求!
在2015年Red Hat峰会上,BCC作为BPF会话的一部分进行了展示。 模拟了一个多主机vxlan环境,并使用BPF程序监控其中一个物理接口。BPF程序保存了通过接口的内部和外部IP地址的统计信息,用户空间组件将这些统计信息转化为一个图表,显示多个粒度级别的流量分布。查看代码这里。
已经迫不及待要提交一些代码了吗?这里有一些资源可以加入IOVisor社区的讨论,看看你想做什么工作。
想了解更多关于BCC及其使用方式的信息吗?你可以在LINKS.md中找到网上其他BCC相关内容的链接。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的 商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号