按 inode 缓存策略判断,eBPF 安全 agent 内核 CPU 开销降约 90%

JeremyCMorgan · x · 2026-09-25

开发者 Nathan Naveen 分享了其开源 eBPF 安全 agent 的一次显著优化(已开源在 github.com/bomfather/agent)。

问题:agent 基于 LSM hook 在文件打开时按路径匹配策略,需要重建路径并沿 dentry 向上遍历父目录,逐层检查是否有匹配策略。策略执行本身不贵,真正昂贵的是「判断哪条策略适用」,对重复访问同一子树的场景(如 Postgres 反复读取数据目录)大量重复计算。

优化:以 inode 为缓存键,把「该文件最终适用的策略」memoize 下来,命中后直接返回结果。内核 CPU 成本下降约 90%。

关键经验:难点不在缓存本身,而在 Linux 文件系统语义下如何设计缓存键与失效策略(inode 复用、路径重命名等场景需要正确处理)。作者强调代码为手写而非 AI 生成。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →