你的位置:主页 > hg0088 >

【BPF】进修笔记 - 基本概念 [1]

2020-03-30 | 人围观

  本进修笔记来自于浏览 Brendan Gregg的《BPF Performance Tools》

  数据包遴选器(BPF) 是一种内核履行引擎,用于处理虚拟指令集,而且比来停止了扩大(又称eBPF),这使BPF酿成了通用履行引擎,可用于多种用途,包罗创立低级功用剖析对象。

  这是一种在各类内核和应用依次工作上运转小型依次的方法。 假设您熟悉JavaScript,则能够会看到一些相似的地方:JavaScript许可网站在浏览器工作(例如鼠标单击)上运转微型依次,从而启用各类新的基于Web的应用依次。 BPF许可内核在系统和应用依次工作(例如磁盘I/O)上运转微型依次,并启用新的系统技巧。 它使内核完整可编程,从而应用户(包罗非内核开辟人员)可以自定义和控制他们的系统,以处理实践后果。

  依据这本书引见BPF设计了以下对象检查对应组件:

  

  是基于工作的记录, 这些工作可所以静态或静态,基于仪器(instrumentation)或计时器(timer)的。跟踪器的标记是其记录原始工作和工作元数据的才华. 今朝存在一些跟踪器, 如:

  如许的数据能够十分宏大年夜,能够需求停止后续处理成摘要. BPF可以在工作上运转小型依次,以停止自定义的及时统计摘要或其他操作,从而防止停止昂贵的后续处理。

  是指采取局部丈量来绘制目标粗略图片的对象, 这也称为。

  有一个称为的BPF对象,它可以获得基于计时器的运转代码样本。 例如,它可以每十毫秒采样一次,或许换句话说,它每秒可以采样一百个样本(在每个CPU上)。 采样器的一个长处是它们的功用开支可以低于跟踪器的功用开支,因为它们仅丈量大年夜很多的一组工作中的一个。 缺点是采样仅能供给粗略的图象,而且会漏掉落工作。

  通俗指的是获得计算机软件或许硬件形状的数据的技巧, 经常使用完成的方法是将一段代码注入到目标依次中,从注入目标依次的时间点的角度可分为两种类型:静态插桩、静态插桩. 经常使用于依次监控与跟踪. (摘自百度百科).

  : 也称为 , 这是将检测点拔出及时软件的才华。 BPF对象经常应用它来检测内核和应用依次功用的末尾和完毕. 静态插桩存在一个后果: 当软件版本更新时, 它的instruments方法可以被被删除或重定名, 这称为接口动摇性. 然则升级内核或应用依次软件后,能够突然发明BPF不再正常任务, 或许他会打印出没法找到 instrument 功用的毛病,或许基本没有任何输入.

  : 处理静态插桩的一个计划是切换到静态对象,个中将动摇的工作称号编码到软件中,并由开辟人员保护。BPF跟踪支撑用于内核静态检测的跟踪点和(用户静态定义的跟踪, 也称为用户标记. 用于用户级静态检测). 静态检测的缺点是这些检测点成为开辟人员的保护担当,因此,假设存在的话,平日数量会遭到限制。

标签:
Top