Document Linux UDP receive buffer tuning for server operators#1150
Open
mcfnord wants to merge 2 commits into
Open
Document Linux UDP receive buffer tuning for server operators#1150mcfnord wants to merge 2 commits into
mcfnord wants to merge 2 commits into
Conversation
Replace specific bandwidth numbers with clearer practical advice: discourages wireless connections and notes fiber works well. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Linux default UDP receive buffer (~208 KB) is too small for a Jamulus server under load. The kernel silently drops packets when the buffer fills, causing complete audio interruptions that are indistinguishable from network problems. Measured on production servers: 9,103 drops in 6 days on one host, 14,035 drops in 5 days on another. Increasing to 4 MB resolved the issue. Adds a new section to Running-a-Server.md with the three-command fix and a drop-counter verification step.
Contributor
Author
|
I don't know a lot about these buffers, but I deploy to very small Linux instances, and it wouldn't surprise me if they face resource starvation in the way described. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a short section to the Server Administration page documenting a Linux kernel tuning step that prevents silent UDP packet drops under load.
The problem
Linux's default UDP receive buffer is ~208 KB (
net.core.rmem_default = 212992). When a Jamulus server is busy, this buffer fills and the kernel drops incoming UDP packets without any log entry or warning. The server and service appear healthy; the symptom is complete audio interruptions for connected clients that look like network packet loss.Evidence from production
Measured on two public Jamulus servers before applying the fix:
After increasing the buffer to 4 MB, drops fell to zero within seconds of restarting the service on both servers. Server B's audio interruptions resolved completely. The fix has since been applied and verified on a fleet of 16 servers across DigitalOcean, AWS, Oracle Cloud, Hetzner, and Linode — x86_64 and aarch64 — all clean.
The fix
Three shell commands, no downside, persists across reboots:
Changes
wiki/en/Running-a-Server.md: new section "Increasing the UDP receive buffer (Linux)" added before the Troubleshooting link, with the fix commands and a drop-counter verification step.This section is English-only in the source; translation pipeline will handle localisation as usual.