J'essaie d'envoyer une requête ping à un hôte distant, mais j'obtiens une erreur.
# 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
Cela fonctionne pour d'autres hôtes:
# 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
#
Le message «Aucun espace tampon disponible» semble indiquer une sorte d'erreur de mémoire. Et en effet, lorsque je vérifie avec Netstat, le nombre de "clusters mbuf" semble TRÈS faux:
# 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
Qu'est-ce qui se passe ici? Est-il possible de résoudre ce problème sans interruption de service, ou dois-je redémarrer l'hôte ou redémarrer l'interface réseau?
freebsd
networking
Stefan Lasiewski
la source
la source
net.inet.tcp.sendbuf_max
et je n'ainet.inet.tcp.recvbuf_max
rien changé.Réponses:
Étant donné que le problème semble isolé pour une seule interface - je suppose que vous utilisez de vieux masques de classe C pour ces deux réseaux - je le ferais rapidement rebondir:
Évidemment, vous devez remplacer ici le nom d'interface correct
en0
.Vous devrez peut-être redémarrer tous les serveurs qui écoutent sur cette interface, et toutes les connexions TCP établies l'utilisant tomberont lorsque vous effectuez cette opération. C'est bref, cependant, donc je ne considère pas vraiment un tel test comme un "temps d'arrêt".
Assurez-vous de ne pas le faire pendant que vous êtes dans la boîte de l'interface que vous rebondissez. Il est préférable de vous connecter sur la console lorsque vous faites cela, si vous le pouvez. Si le serveur est distant, une connexion par modem est préférable, car le rebond des interfaces réseau n'affectera pas les gettys série. Si vous devez le faire lorsque vous êtes connecté sur le réseau, assurez-vous que votre connexion arrive via une interface différente.
la source