Configuring Network Buffers for UDP
Proper buffer configuration prevents data loss when sending or receiving UDP streams.
Configure Buffer Sizes
Section titled “Configure Buffer Sizes”Add the following settings to the /etc/sysctl.conf file.
For 1G Ethernet Adapters:
net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.ipv4.udp_mem = 8388608 12582912 16777216net.ipv4.tcp_rmem = 4096 87380 8388608net.ipv4.tcp_wmem = 4096 65536 8388608net.core.wmem_default = 16777216net.core.rmem_default = 16777216net.ipv4.tcp_tw_reuse = 1For 10G Ethernet Adapters:
net.core.rmem_max = 67108864net.core.wmem_max = 67108864net.ipv4.udp_mem = 8388608 16777216 33554432net.ipv4.tcp_rmem = 4096 87380 33554432net.ipv4.tcp_wmem = 4096 65536 33554432net.core.wmem_default = 33554432net.core.rmem_default = 33554432net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbrnet.ipv4.tcp_tw_reuse = 1For 40G Ethernet Adapters:
net.core.rmem_max = 134217728net.core.wmem_max = 134217728net.ipv4.udp_mem = 8388608 33554432 67108864net.ipv4.tcp_rmem = 4096 87380 67108864net.ipv4.tcp_wmem = 4096 65536 67108864net.core.wmem_default = 67108864net.core.rmem_default = 67108864net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbrnet.ipv4.tcp_tw_reuse = 1To apply settings without restarting, run:
sysctl -pVerify current buffer values:
sysctl \ net.core.rmem_default \ net.core.rmem_max \ net.core.wmem_default \ net.core.wmem_max \ net.ipv4.udp_mem \ net.ipv4.tcp_wmemNetwork Card Buffers
Section titled “Network Card Buffers”On high-load servers, configure the network card buffer to prevent packet loss.
Check current buffer settings:
ethtool -g eth1Example output:
Ring parameters for eth1:Pre-set maximums:RX: 4096RX Mini: 0RX Jumbo: 0TX: 4096Current hardware settings:RX: 4096RX Mini: 0RX Jumbo: 0TX: 256The optimal buffer size depends on your hardware. For high-frequency multi-core processors (over 3 GHz), maximum values often work best. For other systems, an average value is a good starting point.
To increase the buffer size:
ethtool -G eth1 rx 2048Related Articles
Section titled “Related Articles”- System Tune - script to optimize Linux settings for streaming