Linux 内核与 eBPF 工程索引
汇总本站 Linux 内核工程相关文章,覆盖 eBPF、bpftrace、Cilium、io_uring 协同以及内存分配器实践。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 20 篇文章 · 返回首页
汇总本站 Linux 内核工程相关文章,覆盖 eBPF、bpftrace、Cilium、io_uring 协同以及内存分配器实践。
从 CPU/heap/goroutine/lock/off-CPU 等 Profiling 种类出发,比较采样与插桩两类 profiler 的工作原理,深入 Go pprof、Java async-profiler/JFR、Python py-spy、Pyroscope、Parca eBPF Profiling,以及 OpenTelemetry Profiles 的最新进展,给出国内字节美团的真实落地经验与工程坑点。
eBPF 如何实现零侵入、内核级、低开销的可观测性:从 kprobe/uprobe/tracepoint/fentry 钩子机制,到 bcc 工具集、bpftrace 脚本语言、libbpf+CO-RE 可移植编程,再到 Pixie、DeepFlow、Grafana Beyla 等商业化工具,结合内核版本兼容性与生产部署实战。
从 L3/L4/L7 三层观测视角出发,讲解 eBPF socket filter/tc/XDP 的数据采集机制,深入 Cilium Hubble 流日志与指标体系、Tetragon 安全可观测、Pixie 自动化协议解析、国产 DeepFlow 的架构与实践,以及 TLS 解密、HTTP/2 解析、服务拓扑自动发现等核心工程挑战。
深入剖析持续性能分析(Continuous Profiling)的原理、架构与落地实践,覆盖 Parca、Pyroscope、Grafana Beyla 三大主流方案,包含 eBPF 采样、符号解析、火焰图、差异分析以及字节跳动、美团的生产案例与工程坑点。
从 Metrics、Logs、Traces 到 Profiling、eBPF、OpenTelemetry 与 SLO 治理,面向中国工程团队的可观测性系统化手册。
从 sk_buff 到 XDP,从收包路径到 TC 框架——系统拆解 Linux 内核网络子系统的每一个核心模块。基于 Linux 6.6 LTS 源码,配合 bpftrace/perf 实测追踪。
BPF 为什么能成为 Linux 的第二用户态?verifier、JIT、map 家族、BTF、CO-RE、BPF_LSM、sched_ext——本文讲 eBPF 的内核侧机制。
eBPF 正在重新定义网络工程——从传统的 iptables/netfilter 规则堆砌,到可编程、可观测、高性能的网络数据平面。本文系统讲解 eBPF 网络程序类型(XDP/TC/Socket)、Map 数据结构、Cilium 的 eBPF 数据平面实现,以及 eBPF 在负载均衡、可观测性和网络安全中的工程实践。
XDP 在内核网络栈最早期处理数据包,兼顾 DPDK 级性能与内核生态兼容性。本文从 XDP 的三种执行模式、程序编写实战、AF_XDP 的零拷贝路径到 Facebook Katran L4 负载均衡器的 XDP 实现,系统讲解 eBPF 驱动的高性能包处理。
系统讲解 eBPF 在网络诊断中的工程应用:bcc 工具集(tcplife/tcpretrans/tcpdrop)的使用场景、bpftrace 自定义网络探针编写、XDP 丢包分析、内核协议栈延迟追踪,建立基于 eBPF 的系统化网络诊断方法。
容器网络为什么比裸机慢?veth + bridge 每个包经过两次 netfilter,macvlan 跳过了 bridge,Cilium 用 eBPF 替掉了 iptables。到底慢多少?我们用 iperf3、wrk 和自定义 echo server 实测。
eBPF 让你在内核里插代码而不用写内核模块。听起来很美,但验证器的限制、Map 的性能陷阱、BTF 的兼容性噩梦,这些他们不会在教程里告诉你。
你的 P99 延迟突然飙到 500ms,但平均值只有 3ms。日志里什么都没有,Prometheus 图表一片祥和。bpftrace 一行命令,30 秒定位问题。这篇文章告诉你怎么做到的。
5000 个 Service、十万条 iptables 规则、一次更新锁五秒——这就是 kube-proxy 的现实。Cilium 用 eBPF Map 的 O(1) 查找干掉了整条 KUBE-SERVICES 链,顺便把 sidecar 也一起埋了。
eBPF 在内核里做决策,io_uring 在内核里做 I/O。当这两个东西连起来,你的数据包从网卡到应用可以完全不经过传统协议栈。
你有火焰图,但它只能告诉你 CPU 在忙什么——CPU 不忙的时候呢?从 perf 到 Parca,Linux 性能分析工具链走过了 15 年,是时候搞清楚每个工具的真正定位了。
Seccomp 只能说 yes or no,但攻击者早就学会了在 yes 里面做文章。是时候让 eBPF 接管安全审计了。
当 DDoS 洪水来袭,iptables 在协议栈里挣扎,而 XDP 在网卡驱动层就把垃圾包丢了。不进协议栈、不分配 skb、不走 netfilter——这才是丢包该有的样子。
从 eBPF 基础到 XDP 防火墙、安全监控、容器网络、性能分析——eBPF 在现代 Linux 的完整应用图谱。