我在 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
所以这里不分享。