本包目录(357 条)
sysctl 内核参数72 条CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条
网络栈调优98 条
性能分析工具37 条

内核丢包点追踪

怀疑协议栈内部丢包时, 追踪 skb:kfree_skb 丢弃原因, 直接定位丢在哪个子系统。

bpftrace 统计丢弃原因

bpftrace 统计丢弃原因
bpftrace -e 'tracepoint:skb:kfree_skb { @[args->reason] = count(); }'
# 旧内核无 reason 字段时: bpftrace -e 'kprobe:kfree_skb { @[kstack(5)] = count(); }'
丢包原因枚举随内核版本演进; 输出量大时限定时间窗或加过滤条件。

易错点

  • 长期在线全量统计, 观测开销不可控
  • 在无 reason 字段的内核上照搬该写法

数据来源与参考

  • 内核 tracepoint 定义 include/trace/events/skb.h
  • bpftrace 手册
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌