ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-05-01 11:32:36  阅读:218  来源: 互联网

标签:BPF CONFIG howtoing Linux boot BCC 监视 config


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

标签:BPF,CONFIG,howtoing,Linux,boot,BCC,监视,config
来源: https://www.cnblogs.com/linhaostudy/p/16212435.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有