UDP RecvBufErrors debido a páginas pfmalloc en una máquina con carga ligera

UDP RecvBufErrors debido a páginas pfmalloc en una máquina con carga ligera

Mi equipo Linux está descartando paquetes UDP. Tiene una NIC 10GbeE 82599ES con ixgbecontrolador.

Corriendo ncpara recibir paquetes como este:

$ nc -I 100000000 -l 2004 -u > /dev/null 

y enviando paquetes desde una máquina diferente con:

$ cat /dev/zero | nc 10.5.10.248 2004 -u 

tiene los RcvbufErrors en la máquina receptora /proc/net/snmpaumentando como loco. Curiosamente /proc/net/udpno muestra ningún paquete perdido. Mi versión del kernel es:

$ uname -a
Linux titan 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux

Hasta donde puedo decir, la única forma de obtener RcvbufErrors sin caídas de UDP es sifiltro_skregresa -ENOMEMencalcetín_queue_recv_skb, lo que sucede si se pfmemallocedita la página del búfer del socket, lo que a su vez sucede si la máquina está bajo presión de memoria.

Lo raro es que freedice que hay mucho espacio:

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

¡¿Ayuda?! (Gracias de antemano)

k

información relacionada