在 Linux 内核开发与系统调优领域,eBPF 已经成为了事实上的观测标准。然而,面对海量的追踪数据,如何高效提取有价值的信息始终是开发者的痛点。近日,由前 Meta 工程师、Btrfs 核心维护者 Josef Bacik 开发的开源工具 Systing 正式发布了 1.0 版本。
这次迭代不仅仅是版本号的跨越,更是引入了 AI 驱动的系统分析新范式。
{#section path-to-node="5"}
1. 从 Perfetto 到 DuckDB:数据架构的演进
在早期版本中,Systing 主要用于生成 Perfetto 追踪文件。但在 1.0 版本中,Josef Bacik 对底层架构进行了重大调整:
-
引入 DuckDB:Systing 现在将 eBPF 捕获的原始数据存储到 DuckDB 数据库中。
-
优势:相比于庞大的追踪文件,基于 SQL 的向量化数据库(DuckDB)极大地提升了数据检索效率。这使得开发者可以利用标准的 SQL 语句对系统行为进行复杂查询,而不再局限于图形化界面的拖拽。
{#section-1 path-to-node="8"}
2. AI 身份激活:联动 Claude Code
Systing 1.0 最具前瞻性的特性在于其 "AI 身份"。Josef Bacik 改变了手动编写脚本分析追踪数据的传统模式,转而利用 Claude Code 进行智能化处理。
-
实时交互分析:Systing 可以将存储在 DuckDB 中的系统追踪数据直接"喂"给 Claude Code。
-
自然语言问答:开发者可以直接询问 AI:"为什么这个网络请求在内核态卡了 50ms?"或者"帮我找出 CPU 调度延迟最高的进程",AI 会自动生成 SQL 查询并结合 eBPF 数据给出深度分析报告。
{#section-2 path-to-node="11"}
3. 核心技术栈:Rust 与 eBPF
Systing 保持了其高性能的基因:
-
Rust 编写:利用 Rust 的内存安全性与零成本抽象,确保在抓取内核高频事件时对系统性能的影响(Overhead)降至最低。
-
eBPF 驱动:深入内核底层,能够捕获从文件系统 I/O 到网络协议栈的全维度指标。
{#section-3 path-to-node="14"}
4. 实战表现
根据公告,Systing 1.0 已经在多个实际案例中证明了其价值,包括:
-
网络应用性能优化:通过 AI 分析 eBPF 数据,快速锁定协议栈中的瓶颈。
-
内核性能回退(Regression)调试:自动化对比不同内核版本下的系统调用耗时。
{#section-4 path-to-node="17"}
开发者寄语
Josef Bacik 表示:"使用 Claude Code 分析 Systing 追踪数据彻底改变了我的调试工作流。Systing 1.0 是我脑海中最接近'完美系统工具'的形态。"
LeisureLinux 观点: 在 AI 时代,系统级工具的进化方向不再仅仅是"能抓取多少数据",而是"能多快理解数据"。Systing 1.0 通过 Rust (性能) + eBPF (深度) + DuckDB (结构化) + AI (智能) 的组合,为 Linux 性能调优树立了新的标杆。
项目地址:github.com/josefbacik/systing
详细资讯:Phoronix 原文
进阶避坑:深度解析 ethtool 统计触发 RTNL 锁竞争导致的线上 RPC 抖动
【深度科普】从华佗入选 eBPF 基金会,看中国内核技术的"大航海时代"
深度长文 | eBPF 前世今生:从 30 年前的"抓包小弟"到 2026 年监控界的"上帝之手"
常见问题(FAQ)
Q1:这篇文章主要讲什么? 在 Linux 内核开发与系统调优领域,eBPF 已经成为了事实上的观测标准。然而,面对海量的追踪数据,如何高效提取有价值的信息始终是开发者的痛点。 Q2:还有哪些关键事实? 近日,由前 Meta 工程师、Btrfs 核心维护者 Josef Bacik 开发的开源工具 Systing 正式发布了 1.0 版本。 Q3:有哪些值得注意的细节? 但在 1.0 版本中,Josef Bacik 对底层架构进行了重大调整: - 引入 DuckDB:Systing 现在将 eBPF 捕获的原始数据存储到 DuckDB 数据库中。 Q4:核心结论是什么? - 自然语言问答:开发者可以直接询问 AI:"为什么这个网络请求在内核态卡了 50ms?