負荷の軽いマシンでの pfmalloc ページによる UDP RecvBufErrors

負荷の軽いマシンでの pfmalloc ページによる UDP RecvBufErrors

私の 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これは、ソケット バッファー ページがpfmemalloced になった場合に発生し、マシンのメモリが圧迫されている場合にも発生します。

奇妙なのは、freeスペースがたくさんあると書かれていることです。

$ free -m
total       used       free     shared    buffers     cached
Mem:         32210      32016        194        178        352      29948
-/+ buffers/cache:       1715      30495
Swap:        65467        162      65305

助けてください?! (よろしくお願いします)

関連情報