我们看到以下内容:
[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(我知道它不像修剪的数据包一样糟糕)?
谢谢.
解决方法
从您提供的信息判断,并且由于您似乎已经增加了缓冲区,问题很可能在于您的应用程序.这里的基本问题是即使操作系统接收到网络数据包,它们的处理速度也不够快,因而填满了队列.
这并不一定意味着应用程序本身太慢,它也可能因为该机器上运行的其他进程太多而无法获得足够的CPU时间.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。