BCC - 用于Linux性能监视,网络和更多的动态跟踪工具

2022/5/2 7:16:22

本文主要是介绍BCC - 用于Linux性能监视,网络和更多的动态跟踪工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

BCC(BPF编译器集合 )是用于创建足智多谋内核跟踪和操作程序一套功能强大的适当的工具和示例文件。 它采用扩展BPF( Berkeley包过滤器 ),最初被称为eBPF这是在Linux的3.15的新功能之一。

image

BCC / BPF - 用于Linux性能监视的动态跟踪工具

实际上,大多数由BCC使用的组件的需要的Linux 4.1或以上,和其值得注意的特点包括:

  1. 不需要第三方内核模块,因为所有的工具都基于内置于内核的BPF工作,BCC使用Linux 4.x系列中添加的功能。
  2. 支持观察软件执行。
  3. 包括几个性能分析工具与示例文件和手册页。

最适合用于高级Linux用户,BCC可以很容易地编写使用内核仪表用C BPF程序和前端在Python和Lua。此外,它支持多个任务,如性能分析,监控,网络流量控制等。

请记住,BCC使用在Linux内核版本4.1中加入以上功能,并作为一项要求,内核应该已经编译如下设置标志:

CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
# [optional, for tc filters]
CONFIG_NET_CLS_BPF=m
# [optional, for tc actions]
CONFIG_NET_ACT_BPF=m
CONFIG_BPF_JIT=y
CONFIG_HAVE_BPF_JIT=y
# [optional, for kprobes]
CONFIG_BPF_EVENTS=y

要检查你的核心标志,查看文件了/proc/config.gz或在下面的例子中运行命令:

howtoing@HowToing ~ $ grep CONFIG_BPF= /boot/config-`uname -r`
CONFIG_BPF=y
howtoing@HowToing ~ $ grep CONFIG_BPF_SYSCALL= /boot/config-`uname -r`
CONFIG_BPF_SYSCALL=y
howtoing@HowToing ~ $ grep CONFIG_NET_CLS_BPF= /boot/config-`uname -r`
CONFIG_NET_CLS_BPF=m
howtoing@HowToing ~ $ grep CONFIG_NET_ACT_BPF= /boot/config-`uname -r`
CONFIG_NET_ACT_BPF=m
howtoing@HowToing ~ $ grep CONFIG_BPF_JIT= /boot/config-`uname -r`
CONFIG_BPF_JIT=y
howtoing@HowToing ~ $ grep CONFIG_HAVE_BPF_JIT= /boot/config-`uname -r`
CONFIG_HAVE_BPF_JIT=y
howtoing@HowToing ~ $ grep CONFIG_BPF_EVENTS= /boot/config-`uname -r`
CONFIG_BPF_EVENTS=y

在Ubuntu 16.04

通过安装4.3以上版本的 Linux内核,从开始http://kernel.ubuntu.com/~kernel-ppa/mainline 。 作为一个例子,写一个小的shell脚本“bcc-install.sh”与下面的内容。 注意 :更新PREFIX值的最晚日期,以及浏览提供获得实际的REL值,在shell脚本代替它们的前缀网址的文件。

$ echo "deb [trusted=yes] https://repo.iovisor.org/apt/xenial xenial-nightly main" | sudo tee /etc/apt/sources.list.d/iovisor.list
$ sudo apt-get update
$ sudo apt-get install bcc-tools


这篇关于BCC - 用于Linux性能监视,网络和更多的动态跟踪工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程