eBPF入门

eBPF 追踪 Tokio Async Runtime:从任务调度到 Poll 延迟的硬实战

当 Rust async 应用的生产环境出现尾延迟抖动时,传统 profiling 工具看到的只是线程层面的阻塞,而真正的故事发生在任务调度器的 poll/unpark 决策链路上。本文展示如何用 eBPF 在零侵入的前提下,捕获 Tokio runtime 内部的每一次任务状态转换、park/unpark 时序和 Poll::Pending 的分布模式。

深入理解 eBPF:内核可观测性与网络性能优化的终极武器

深入理解 eBPF 技术体系——从经典 BPF 演进史到内核架构拆解,聚焦网络可观测性核心挂载点(XDP/TC/Tracepoint/SOCK_OPS),详解连接拓扑构建、HTTP 延迟测量、TCP 重传定位三大生产实战场景,并对比 sidecar、手动埋点等方案的优劣势。

从CFS红黑树到eBPF追踪:Linux内核调度器深度实战与性能调优

从CFS调度器核心数据结构(红黑树与vruntime)出发,全面剖析O(log n)进程调度实现原理,涵盖虚拟运行时间计算、新进程惩罚与唤醒补偿机制、NUMA感知调度演进(v1到v3三阶段)以及带宽控制器底层实现。通过eBPF实战构建零开销调度监控工具链:基于BPF_PROG_TYPE_TRACEPOINT的延迟直方图追踪器、CPU迁移统计器定位NUMA失衡问题、以及基于BPF反馈的PID控制自适应调优框架。包含一个完整的Java微服务调度优化生产案例:从问题诊断(中断隔离导致的GC线程延迟飙升)到解决方案(IRQ亲和性调整+cgroup v2带宽限制)的全链路实战。最后展望Linux 6.12引入的sched_ext可编程调度器框架,展示如何通过struct_ops实现用户态自定义调度策略。