linux接收大量网络数据崩溃,linux – Netstat -s显示(并且正在增长)“从接收队列中删除的数据包”和“数据包在接收队列中崩溃”...

我们看到以下内容:

[root@primary data]# netstat -s | grep buffer ; sleep 10 ; netstat -s | grep buffer

20560 packets pruned from receive queue because of socket buffer overrun

997586 packets collapsed in receive queue due to low socket buffer

20587 packets pruned from receive queue because of socket buffer overrun

998646 packets collapsed in receive queue due to low socket buffer

[root@primary data]#

请记住,以上是一个刚刚重新启动的盒子……大约1小时的正常运行时间.我们最近有一个盒子上升了2个月,这些反击将达到数百万(XXX百万).

我们尝试过更改各种sysctl变量……

以下是我认为相关的sysctl变量:

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.tcp_rmem = 4096 87380 16777216

net.ipv4.tcp_wmem = 4096 65536 16777216

有没有人知道如何解决这些修剪的pakcets由于套接字缓冲区溢出/数据包colapsing(我知道它不像修剪的数据包一样糟糕)?

谢谢.