Squid 或内核缓冲区溢出

Squid 或内核缓冲区溢出

我在 squid 中收到此错误(大约 20 秒后消失,但让用户非常烦恼)(105)没有可用的缓冲区空间然后,如果我转到命令行并尝试 ping,我会收到此错误

ping www.google.com connect:没有可用的缓冲区空间

因此该错误似乎与内核有关。

所以我将这些行添加到 /etc/sysctl.conf 中

net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_no_metrics_save = 1 net.core.netdev_max_backlog = 5000

并重新加载更改...但仍然收到错误

有什么建议么?

答案1

在 Google 上快速搜索:ping no buffer space available返回各种论坛主题,这些主题似乎都同意这一点:

两个 NIC 共享相同的 IRQ,或者其中一个与另一个卡/ide/usb 设备共享。

您可以尝试一下cat /proc/interrupts,看看是否如此。

例如,在具有两个 NIC 的服务器上:

0:      105539   IO-APIC-edge      timer
1:           2   IO-APIC-edge      i8042
2:           0   XT-PIC-XT         cascade
8:           1   IO-APIC-edge      rtc0
10:          0   IO-APIC-fasteoi   ohci_hcd:usb1
12:          4   IO-APIC-edge      i8042
14:  882208736   IO-APIC-edge      ide0
15:          0   IO-APIC-edge      ide1
22: 3552346607   IO-APIC-fasteoi   eth0
23: 3776214353   IO-APIC-fasteoi   eth1

所以这里不分享。

相关内容