首页/系统/Linux 内核与性能调优速查/net.core.netdev_max_backlog 收包积压队列
本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

net.core.netdev_max_backlog 收包积压队列

每个 CPU 内核收包队列的长度上限(默认 1000);小包高 PPS 场景队列打满会丢包,可在 softnet_stat 中确认。

参数net.core.netdev_max_backlog
默认值1000
溢出统计/proc/net/softnet_stat 每行 dropped 列(十六进制)递增

查看与调整

查看与调整
sysctl net.core.netdev_max_backlog
sysctl -w net.core.netdev_max_backlog=16384
awk '{print $1, $3}' /proc/net/softnet_stat | head
仅当网卡中断/NAPI 处理跟不上(softirq 丢包)时才调大;先确认网卡队列与中断分布是否合理。

易错点

  • 调大积压队列只是增加缓冲,排队越深延迟越高;根因通常是中断集中或包处理开销
  • softnet_stat 各列按十六进制打印,按十进制阅读会得出错误结论,先转换再判断

数据来源与参考

  • Linux 内核 Documentation/admin-guide/sysctl/net.rst
  • Linux 内核 Documentation/networking/scaling.rst
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌