![从 RHEL 5.7 迁移到 RHEL 6.8 时出现 UDP 数据包丢失](https://linux22.com/image/693236/%E4%BB%8E%20RHEL%205.7%20%E8%BF%81%E7%A7%BB%E5%88%B0%20RHEL%206.8%20%E6%97%B6%E5%87%BA%E7%8E%B0%20UDP%20%E6%95%B0%E6%8D%AE%E5%8C%85%E4%B8%A2%E5%A4%B1.png)
我们有一个应用程序以 RTP(使用 UDP)数据包的形式接收 DTMF 数字。以前的服务器版本是 RHEL 5.7,一切运行正常。现在,由于我们迁移到 RHEL 6.8,数据包经常被丢弃。数据包无法到达应用程序,
netstat -su
显示 UDP 数据包接收错误增加。我们使用常用的 C 函数 recvfrom() 从套接字接收数据包。
将值设置/proc/sys/net/core/rmem_max
为33554432使用
sysctl -w net.core.rmem_max=33554432
使系统正常运行。
现在为什么 RHEL 6.8 而不是 5.7 需要进行此项更改,这是否只会延迟问题,因为当此缓冲区被填满时,数据包是否会再次开始丢弃?