FreeBSD : "ping : sendto : 사용 가능한 버퍼 공간이 없습니다"를 수정하는 방법?


27

원격 호스트를 핑하려고하는데 오류가 발생합니다.

# 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 2016 년

답변:


11

이 문제는 하나의 인터페이스에만 국한된 것으로 보이므로이 두 네트워크에 대해 일반 오래된 클래스 C 마스크를 사용한다고 가정합니다.

# ifconfig en0 down
# ifconfig en0 up

분명히 여기에 올바른 인터페이스 이름을 사용해야합니다 en0.

해당 인터페이스에서 수신 대기중인 서버를 다시 시작해야 할 수 있으며이 작업을 수행하면 설정된 TCP 연결이 끊어집니다. 그러나 간단히 말해서 그러한 테스트를 "다운 타임"이라고 생각하지는 않습니다.

수신 거부하는 인터페이스의 상자에 ssh'd되어있는 동안이 작업을 수행하지 마십시오. 가능하면 콘솔에 로그인하는 것이 가장 좋습니다. 서버가 원격 인 경우 네트워크 인터페이스를 수신 거부해도 직렬 게티에 영향을 미치지 않으므로 모뎀 연결이 가장 좋습니다. 네트워크를 통해 로그인 한 상태에서이 작업을 수행해야하는 경우 다른 인터페이스를 통해 연결되어 있는지 확인하십시오.


4
이 인터페이스에는 이더넷 케이블이 느슨했습니다. 케이블을 조이고 "사용 가능한 버퍼 공간 없음"오류가 사라졌습니다. 이제 'mbuf'번호에 대해 걱정해야하는지 알아 내야합니까, 아니면 자체적으로 명확합니까?
Stefan Lasiewski

불행히도, 인터페이스를 수신 거부해도 문제가 해결되지 않았습니다 (이 컴퓨터에는 여러 개의 인터페이스가 있으므로 각 인터페이스를 순서대로 시도한 다음 무언가를 시도하여 공간을 확보 할 수 있기를 바랍니다). 상자를 재부팅했는데 케이블을 고친 후에도이 문제가 다시 발생하지 않기를 바랍니다.
Stefan Lasiewski

1
4 년 후 업데이트. 예, mbuf 오류에 대해 걱정할 필요가 있습니다. 이 문제는 때때로 FreeBSD 박스에 나타나며 거의 항상 높은 네트워크로드 및 버그가있는 케이블과 관련이 있습니다.
Stefan Lasiewski

수신 거부가 해결되었습니다.
중력

CentOS6.5 AMD64를 실행하는 Cloudstack에서 실행되는 OpenBSD 5.8 AMD64를 위해 특별히 여기에 왔습니다. 물리적 상자가 중단 될 때마다이 vm은 벗어날 수 없습니다. 인터페이스를 반송하려고 시도했지만 작동하지 않았습니다. 다른 사람이 비슷한 길을 갔을 경우를 대비해 여기에서 공유하겠다고 생각했습니다. UPDATE- 1 분도 지나지 않아 작동하므로 문제가 해결 될 수 있습니다.
danno
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.