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

前端之家收集整理的这篇文章主要介绍了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(我知道它不像修剪的数据包一样糟糕)?

谢谢.

解决方法

从您提供的信息判断,并且由于您似乎已经增加了缓冲区,问题很可能在于您的应用程序.这里的基本问题是即使操作系统接收到网络数据包,它们的处理速度也不够快,因而填满了队列.

这并不一定意味着应用程序本身太慢,它也可能因为该机器上运行的其他进程太多而无法获得足够的cpu时间.

原文链接:https://www.f2er.com/linux/400083.html

猜你在找的Linux相关文章