BPFTUNE-UDP-BUFFER(8)
β¨ NAME β¨
bpftune-udp-buffer β it's the bpftune plugin for UDP, and its whole lil job is keeping your UDP buffer sizes and memory limits from ruining the vibe π
π DESCRIPTION π
okay so bestie, listen. For UDP β literally just like TCP β there's a triple of min, pressure, max that represents the UDP memory limits, and it lives right here:
net.ipv4.udp_mem
If a receive fails with -ENOBUFS, that's the signal that we're hitting those memory limits. So we adaptively bump up pressure and max to make sure memory exhaustion does not occur β as long as we don't get anywhere near actual real memory exhaustion. π
But! As memory exhaustion gets approached and we can't increase the overall memory limits anymore, we instead reduce net.core.rmem* values to limit socket memory overheads. Gotta do what you gotta do. π«Ά
Now for the UDP receive buffer memory: if a socket is experiencing receive buffer drops within range of the rmem_max_value, we bump net.core.rmem_max. Similarly, we bump rmem_default if sockets are within range of it and they don't have a locked value (locked meaning set via setsockopt). no cap π
π Tunables π
net.ipv4.udp_memβ themin,pressure,maxUDP memory, the whole trio β¨net.core.rmem_maxβ the max rcvbuf size you can specify viasetsockopt()net.core.rmem_defaultβ the default rcvbuf size for when none was set π
π¦ SEE ALSO π¦
and that's the whole page, bestie β this one's from the System Manager's Manual, BPFTUNE-UDP-BUFFER(8), and yeah the footer's just the name again, iconic minimalism honestly ππ§
π¦ where this page comes from
- nixos 26.05: bpftune 0.4-2
- ubuntu stonking: bpftune 0.4.2.10.g4712347-1 Β· GPL-2.0 WITH Linux-syscall-note exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms