eBPF Probe Overhead Budget

根据实测事件速率估算 eBPF probe 消耗的 CPU 核心当量,并与用户设定的 CPU 预算比较。这是规划模型;应在目标内核和工作负载上测量 probe 开销。

结果

预计占用的 CPU 核心

占可用 CPU 的比例

设定的 CPU 预算

剩余 CPU 预算(负数表示超出预算)

预算内每个事件最多 probe 数

使用方法 工具

  1. 输入事件速率,以及每个事件会执行的 eBPF probe 数量。
  2. 输入每个 probe 的实测平均开销(微秒)、可用 CPU 核心数,以及用于 instrumentation 的 CPU 百分比预算。
  3. 查看预计核心占用、预算余量,以及预算内每个事件可容纳的最大整数 probe 数。

假设条件

技术细节:字段含义
每秒事件数 eventRatePerSecond
每秒产生的实测或预期事件数。
每个事件执行的 eBPF probe 数 probesPerEvent
每个事件执行的 probe 数量,按整数 probe 数输入。
Measured eBPF probe overhead overheadPerProbeUs
在目标内核和代表性工作负载上测得的单个 probe 平均执行开销,单位为微秒。
可用 CPU 核心数 availableCpuCores
该工作负载可用的 CPU 核心数,用于计算百分比和预算。
Probe 的 CPU 预算 cpuBudgetPercent
为这些 probe 预留的可用 CPU 核心最大比例;这是用户设定的预算,并非安全默认值。
方法说明

CPU 核心占用 = 每秒事件数 × 每事件 probe 数 × 每个 probe 微秒数 ÷ 1,000,000。CPU 预算核心数 = 可用核心数 × 预算百分比。每事件最大整数 probe 数 = floor(预算核心数 × 1,000,000 ÷ (事件速率 × 每个 probe 微秒数))。

计算示例

每秒 400,000 个事件,每个事件执行两个 probe

输入项: 每秒事件数: 400000 events/s, 每个事件执行的 eBPF probe 数: 2 probes/event, Measured eBPF probe overhead: 4 µs, 可用 CPU 核心数: 16 cores, Probe 的 CPU 预算: 10%

结果: 预计占用 3.2 个 CPU 核心(16 个核心的 20%)。10% 预算为 1.6 个核心,因此该配置超出 1.6 个核心;按此简化预算计算,每个事件执行一个 probe 可以满足预算。

实用指南
常见错误

常见问题

eBPF probe 开销总是固定的吗?

不是。本计算器假设每个事件的平均开销固定。实际成本会随程序工作、内核路径、map 访问、争用和负载而变化。

CPU 预算百分比来自 Kubernetes 或 Linux 吗?

不是。这是由你选择的规划阈值;计算器不会读取 cgroups、Kubernetes 限制或主机遥测。

上次审核: 2026-10-18

这是简单的平均 CPU 预算模型;不会预测延迟、perf-event 丢失、内核调度、verifier 是否接受、eBPF map 压力或生产安全性。

此工具 根据上述假设提供参考估算值。

主题和工具偏好设置,以及已保存和最近使用的列表仅存储在此浏览器中。