问题
在netdata监控中一直被报警10min netdev budget ran outs,查找softnet项。
原文
Statistics for CPUs SoftIRQs related to network receive work. Break down per CPU core can be found at CPU / softnet statistics. processed states the number of packets processed, dropped is the number packets dropped because the network device backlog was full (to fix them on Linux use sysctlto increase net.core.netdev_max_backlog), squeezed is the number of packets dropped because the network device budget ran out (to fix them on Linux use sysctl to increase net.core.netdev_budget and/or net.core.netdev_budget_usecs). More information about identifying and troubleshooting network driver related issues can be found at Red Hat Enterprise Linux Network Performance Tuning Guide.
机翻
与网络接收工作相关的CPU SoftIRQ的统计信息。 可以在CPU / softnet统计信息中找到每个CPU核心的细分。 处理状态处理的数据包数量,丢弃的数据包丢失是因为网络设备积压已满(要修复它们在Linux上使用sysctl增加net.core.netdev_max_backlog),挤压的是因为网络设备预算而丢弃的数据包数量 用完(在Linux上修复它们使用sysctl来增加net.core.netdev_budget和/或net.core.netdev_budget_usecs)。 有关识别和排除网络驱动程序相关问题的更多信息,请参阅“红帽企业Linux网络性能调整指南”。
解决方法
执行以下命令:
sysctl net.core.netdev_max_backlog
sysctl net.core.netdev_budget
提示
net.core.netdev_max_backlog = 1000
net.core.netdev_budget = 300
这两个默认值很小,由于本人不了解tcp底层原理,只能依照说明调大这两个值。
sudo sysctl net.core.netdev_max_backlog=10000
sudo sysctl net.core.netdev_budget=3000
同时,根据说明调整
sudo sysctl net.core.netdev_budget_usecs=20000
调整过后,softnet蓝线减小为零,十分钟左右后消失,警报也随之消失。

如果是在路由器或其他低功耗设备中sysctl命令可能有busybox提供,设置时需要-w
参数
但是,重启后会失效,将上述参数保存至/etc/sysctl.conf