我正在面对UDP数据包接收错误(在Linux'netstat -su'命令下)。
我在Machine-A(RHEL 5.2)上运行了10个UDP进程,每个UDP进程以每秒50次的速度向同一个地址和相同的UDP端口发送290字节的数据包。 在接收端(Machine-B RHEL5.2),我有一个侦听这个UDP端口的进程。 此外,在机器B,我运行“netstat -su”来检查UDP数据包错误。
我读过,我需要configuration我的Machine-B Linux的sysctl,我做了以上的testing:
net.core.rmem_max = 33554432 net.core.netdev_max_backlog = 2000
另外,我已经将Machine-A和Machine-B中两个接口的MTU大小更改为1380。
以上所有,我仍然遇到UDP数据包接收错误增加(在netstat下)
怎么来的? 还有什么我需要configuration?
顺便说一下,我也尝试net.core.rmem_max = 131071,但仍然面临数据包接收错误:(
net.core.rmem_max是可以设置的最大值。 但是,也有一个默认值net.core.rmem_default – 我也会增加这个。
你也必须调整应用程序的缓冲区设置。 通常人们试图调整内核设置,但不会忘记应用程序的设置。