FreeBSD:如何解决“ ping:sendto:没有可用的缓冲区空间”?


27

我正在尝试ping远程主机,但出现错误。

# ping 192.168.80.1
PING 192.168.80.1 (192.168.80.1): 56 data bytes
ping: sendto: No buffer space available
ping: sendto: No buffer space available
^C
--- 192.168.80.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss

它适用于其他主机:

# ping 192.168.16.1
PING 192.168.16.1 (192.168.16.1): 56 data bytes
64 bytes from 192.168.16.1: icmp_seq=0 ttl=254 time=0.442 ms
64 bytes from 192.168.16.1: icmp_seq=1 ttl=254 time=0.402 ms
^C
--- 192.168.16.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.402/0.422/0.442/0.020 ms
#

消息“没有可用的缓冲区空间”似乎表明某种内存错误。确实,当我使用Netstat进行检查时,“ mbuf clusters”数字看起来非常错误:

# netstat -m
11780 mbufs in use
4294966716/32768 mbuf clusters in use (current/max)
0/3/6656 sfbufs in use (current/peak/max)
1785 KBytes allocated to network
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines

这里发生了什么?是否可以在不停机的情况下解决此问题,还是需要重启主机或重启网络接口?


1
您可以发布dmesg输出吗?
Mike H

我已经粘贴了自己的。在我的情况下,这是一个备份,在某个地方阻塞了队列,我不清楚为什么-但先挂起然后恢复备份(rsync --bwlimit = 40),为我们解决了这个问题。我也尝试过加倍,net.inet.tcp.sendbuf_max并且net.inet.tcp.recvbuf_max并没有改变任何东西。
anarcat 2013年

Answers:


11

由于问题似乎仅局限于一个接口-我假设您正在为这两个网络使用普通的老式C类掩码-我将快速弹起它:

# ifconfig en0 down
# ifconfig en0 up

显然,您需要在此处用正确的接口名称代替en0

您可能必须重新启动在该接口上侦听的所有服务器,并且使用该接口建立的任何TCP连接都会在执行此操作时断开。不过,这很简短,因此我并不真正将这样的测试视为“停机时间”。

切入要弹跳的界面上的框时,请确保不要执行此操作。如果可以的话,最好在控制台上登录。如果服务器是远程服务器,则最好使用调制解调器连接,因为弹跳网络接口不会影响串行接口。如果必须在通过网络登录时执行此操作,请确保您的连接是通过其他接口进入的。


4
好吧,事实证明该接口的以太网电缆松动。我拧紧了电缆,“没有可用的缓冲区空间”错误消失了。现在,我需要弄清楚是否需要担心“ mbuf”数字,还是自己弄清楚?
Stefan Lasiewski 2010年

不幸的是,弹跳接口并不能解决问题(这台机器上有多个接口,我依次尝试了每个接口,然后一次全部尝试,希望有什么东西可以释放空间)。我重新启动了包装盒,希望修复电缆后不会再出现此问题。
Stefan Lasiewski,2010年

1
4年后更新。是的,我确实需要担心mbuf错误。这个问题有时会在我的FreeBSD机器上弹出,并且几乎总是与高网络负载相关,并且可能与电缆连接不良有关。
Stefan Lasiewski 2014年

弹跳修复了我。
重力

我是专门为在运行CentOS6.5 AMD64的Cloudstack上运行的OpenBSD 5.8 AMD64而来到这里的。每次物理盒中断时,该虚拟机就无法退出。我尝试弹跳该界面,但没有用。只是以为我会在这里分享,以防其他人走类似的道路。更新-不到一分钟后它开始工作,因此也许可以解决它。
danno '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.