随着 BPF 追踪系统(基于时间采样)最后一个主要功能被合并至 Linux 4.9-rc1 版本的内核中,现在 Linux 内核拥有类似 DTrace 的原生追踪功能。DTrace 是 Solaris 系统中的高级追踪器。对于长期使用 DTrace 的用户和专家,这将是一个振奋人心的里程碑。现在在 Linux 系统上,你可以在生产环境中使用安全的、低负载的定制追踪系统,通过执行时间的柱状图和频率统计等信息,分析应用的性能以及内核。

用于 Linux 的追踪项目有很多,但是这个最终被合并进 Linux 内核的技术从一开始就根本不是一个追踪项目:它是最开始是用于伯克利包过滤器Berkeley Packet Filter(BPF)的增强功能。这些补丁允许 BPF 重定向数据包,从而创建软件定义网络(SDN)。久而久之,对事件追踪的支持就被添加进来了,使得程序追踪可用于 Linux 系统。

尽管目前 BPF 没有像 DTrace 一样的高级语言,但它所提供的前端已经足够让我创建很多 BPF 工具了,其中有些是基于我以前的 DTraceToolkit。

转自
https://linux.cn/article-8038-1.html

也就是说,BPF,以前是包过滤器;后来,添加了对事件追踪的支持,并加入Linux 内核,使得Linux 内核拥有原生追踪功能;

Linux内核BPF学习1相关推荐

  1. linux内核体系学习路径_Linux内核分析(一)linux体系简介|内核源码简介|内核配置编译安装...

    从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底,同时在博文中如果那些地方有问题还请各位大神为我讲解. 今天我们会分析到以下内容: 1. Linux体系结构简介 ...

  2. 谈操作系统(linux内核)学习的重要性

    .   内核学习概述 1.1 再谈操作系统(linux内核)学习的重要性 现阶段国内大学的计算机教学情况不容乐观,教材过时或者实用性不够成为我们大学生学业就业或者研究生进行项目研究实践的难题,当前大学 ...

  3. Linux 内核协议栈 学习资料

    终极资料 1.<Understanding Linux Network Internals> 2.<TCP/IP Architecture, Design and Implement ...

  4. Linux内核数据学习总结

    目录 1. 进程相关数据结构1) structtask_struct2) structcred3) structpid_link4) structpid5) structsignal_struct6) ...

  5. Linux虚拟化: 探索 Linux 内核虚拟机 学习 KVM 架构及其优点

    M. Tim Jones, 顾问工程师, Emulex 简介: Linux® 既有良好的灵活性,在虚拟化方面同样出色.但是最近,随着内核虚拟机(KVM:Kernel Virtual Machine)的 ...

  6. [linux内核][LINUX内核编程]学习笔记(一)

    linux内核使用bitmap相关  1,声明一个bitmap数组,可以表示100个bit,数组名字是bitmap [cpp] view plaincopy DECLARE_BITMAP(bitmap ...

  7. Linux内核编译学习1

    这是指的在一台安装了Linux操作系统的电脑上,下载一份新版本的Linux内核源码,编译源码,升级当前操作系统版本为新的版本: 编译内核一共有8个步骤:在这之前要确保足够的硬盘空间和内存: 首先要添加 ...

  8. 从linux内核启动,学习Linux内核启动过程:从start_kernel到init

    一.实验步骤: 1:运行menuos: a)cd LinuxKernel/ b)qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd root ...

  9. Linux内核list_head学习(二)

    前一篇文章讨论了list_head 结构的基本结构和实现原理,本文主要介绍一下实例代码. 自己如果想在应用程序中使用list_head 的相应操作(当然应该没人使用了,C++ STL提供了list 用 ...

最新文章

  1. UIActionSheet在iOS8中被弃用造成的错误
  2. ora-01033:oracle initialization or shutdown in progress 解决方法
  3. 关于linux驱动程序的学习
  4. iperf3 测速跑不满的解决办法
  5. python读取rar文件_在 python 中,如何读取由 7z 压缩的文本文件_python_酷徒编程知识库...
  6. php 实例 规范,PHP开发规范实例详解
  7. 越是被吐槽,女博士这个群体就越强!!
  8. 好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错...
  9. java怎么实现打牌_JAVA入门第三季实战:简易扑克牌
  10. OpenGL基础18:光照基础
  11. ++ 优化 频繁new_Java性能优化
  12. 蓝牙芯片 csr8645 和 qcc3005 哪个比较
  13. Windows 用户自动登录开启与关闭方法
  14. python arcgis 批量裁剪栅格文件
  15. 力扣(Leetcode)695. 岛屿的最大面积(Java)带注释
  16. java md5 密钥_java代码实现MD5加密及验证方法
  17. 用Keil C编制单片机高级语言程序,KeilC单片机C语言与研究.doc
  18. UG10.0空间舱体四轴编程与建模视频教程
  19. 集成融云 SDK 怎么实现多端同步未读数
  20. Python+Vue计算机毕业设计网上书城系统t9avi(源码+程序+LW+部署)

热门文章

  1. 数据结构源码笔记(C语言):二叉排序树的基本操作算法
  2. java linkedlist 方法_Java LinkedList getFirst()方法与示例
  3. Explore Nonprofit Cloud Case Management
  4. 利用Proceesson在线绘制流程图实例演练!流程图的要点和注意事项说明
  5. CTFshow 命令执行 web76
  6. Leetcode记录
  7. 【HDU 2814 扩展欧拉 a^b ≡ (a mod c)^b mod ϕ(c)+ϕ(c) modc,b=ϕ(c) 】
  8. MATLAB图形的修饰(选择图形窗口、线型点颜色、坐标轴、图形标注、栅格和图形叠加的设置)
  9. 4、PPT图表的制作(制作九宫格图片、更好看的图表)
  10. atoi()函数定义