私の Linux ボックスは UDP パケットをドロップします。ドライバー付きの 10GbeE 82599ES NIC が搭載されていますixgbe
。
次のようにパケットを受信するために実行しますnc
:
$ nc -I 100000000 -l 2004 -u > /dev/null
そして別のマシンからパケットを送信するには:
$ cat /dev/zero | nc 10.5.10.248 2004 -u
受信マシンの RcvbufErrors が/proc/net/snmp
異常に増加しています。興味深いことに、/proc/net/udp
パケットのドロップは見られません。私のカーネル バージョンは次のとおりです。
$ uname -a
Linux titan 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
私の知る限り、UDPドロップなしでRcvbufErrorsを取得する唯一の方法は、sk_フィルター返品-ENOMEM
ソックキュー受信skbこれは、ソケット バッファー ページがpfmemalloc
ed になった場合に発生し、マシンのメモリが圧迫されている場合にも発生します。
奇妙なのは、free
スペースがたくさんあると書かれていることです。
$ free -m
total used free shared buffers cached
Mem: 32210 32016 194 178 352 29948
-/+ buffers/cache: 1715 30495
Swap: 65467 162 65305
助けてください?! (よろしくお願いします)
け