FreeBSD:「ping:sendto:利用可能なバッファスペースがありません」を修正する方法は?

FreeBSD:「ping:sendto:利用可能なバッファスペースがありません」を修正する方法は?

リモートホストに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クラスター」番号が非常に間違っていることがわかりました。

# 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

問題は1つのインターフェイスにのみ関連しているようには思えないので、両方のネットワークに既存の汎用クラスCマスクを使用しているとします。迅速に解決します。

# ifconfig en0 down
# ifconfig en0 up

明らかにここで正しいインターフェースの名前を変更する必要がありますen0

このインターフェイスをリッスンするすべてのサーバーを再起動する必要があります。これにより、このインターフェイスを使用して確立されたすべてのTCP接続が削除されます。しかし、短いので、このタイプのテストは「ダウンタイム」だとは思わない。

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

おすすめ記事