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 cluster」の番号は非常に間違っているように見えます。

# 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の出力を投稿できますか?
マイクH

自分で貼り付けました。私の場合、それはどこかにキューを詰まらせていたバックアップでしたが、なぜかはわかりませんが、バックアップを一時停止してから再開することで(rsync --bwlimit = 40)問題を修正しました。net.inet.tcp.sendbuf_maxまたnet.inet.tcp.recvbuf_max、2倍にしてみましたが、何も変わりませんでした。
アナキャット

回答:


11

この問題は1つのインターフェースだけに孤立しているように見えるので(これらの2つのネットワークに単純な古いクラスCマスクを使用していると思います)、すぐにバウンスします。

# ifconfig en0 down
# ifconfig en0 up

明らかに、ここで正しいインターフェイス名に置き換える必要がありますen0

そのインターフェイスでリッスンしているサーバーを再起動する必要がある場合があります。再起動すると、そのインターフェイスを使用する確立されたTCP接続はすべて切断されます。ただし、短いので、このようなテストを「ダウンタイム」とは実際には見ていません。

バウンスしているインターフェイスのボックスにssh'dしている間は、これをしないでください。可能であれば、これを行うときにコンソールにログインするのが最善です。サーバーがリモートの場合、ネットワークインターフェイスをバウンスしてもシリアルgettyに影響しないため、モデム接続が最適です。ネットワーク経由でログインしているときにこれを行う必要がある場合は、接続が別のインターフェイス経由であることを確認してください。


4
まあ、このインターフェースにはゆるいイーサネットケーブルがありました。ケーブルを締めましたが、「使用可能なバッファスペースがありません」というエラーはなくなりました。ここで、「mbuf」番号について心配する必要があるかどうかを把握する必要がありますか、それ自体で明確になりますか?
ステファンLasiewski

残念なことに、インターフェイスをバウンスしても修正されませんでした(このマシンには複数のインターフェイスがあり、それぞれを順番に試し、次に何かがスペースを解放することを期待して一度に試しました)。ボックスを再起動しましたが、ケーブルを修正した後はこの問題が再び発生しないことを願っています。
ステファンLasiewski

1
4年後の更新。はい、mbufエラーについて心配する必要があります。この問題は、FreeBSDのボックスに時々表示され、ほとんどの場合、ネットワークの負荷が高く、ケーブルのバグが原因です。
ステファンLasiewski 14

バウンスはそれを修正しました。
引力

CentOS6.5 AMD64を実行しているCloudstackで実行されているOpenBSD 5.8 AMD64専用にここに来ました。物理的なボックスが中断されるたびに、このvmは取得できません。インターフェイスをバウンスしようとしましたが、うまくいきませんでした。他の誰かが同様の道を進んだ場合に備えて、ここで共有すると思いました。更新-1分も経たないうちに動作しているので、おそらくこれで修正されるでしょう。
だんの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.