summaryrefslogtreecommitdiffstats
path: root/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /health/guides/udp/1m_ipv4_udp_send_buffer_errors.md
parentInitial commit. (diff)
downloadnetdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz
netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'health/guides/udp/1m_ipv4_udp_send_buffer_errors.md')
-rw-r--r--health/guides/udp/1m_ipv4_udp_send_buffer_errors.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md b/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md
new file mode 100644
index 00000000..7d0411e3
--- /dev/null
+++ b/health/guides/udp/1m_ipv4_udp_send_buffer_errors.md
@@ -0,0 +1,43 @@
+### Understand the alert
+
+The linux kernel allocates buffers to serve the UDP protocol operations. Data is written into sockets that utilize UDP to send data to an another system/subsystem.
+
+The Netdata Agent monitors the average number of UDP send buffer errors over the last minute. This alert indicates that the UDP send buffer is full or no kernel memory available. Receiving this alert
+means that your system is dropping outgoing UDP packets. This alert is triggered in warning state when the number of UDP send buffer errors over the last minute is more than 10.
+
+In general, issues with buffers that allocated dynamically are correlated with the kernel memory, you must always be aware of memory pressure events. This can cause buffer errors.
+
+### Troubleshooting section:
+
+- Increase the net.core.wmem_default and net.core.wmem_max values
+
+1. Try to increase them, RedHat suggests the value of 262144 bytes
+
+ ```
+ sysctl -w net.core.wmem_default=262144
+ sysctl -w net.core.wmem_max=262144
+ ```
+
+2. Verify the change and test with the same workload that triggered the alarm originally.
+
+ ```
+ sysctl net.core.wmem_default net.core.wmem_max
+ net.core.wmem_default=262144
+ net.core.wmem_max=262144
+ ```
+
+3. If this change works for your system, you could make it permanently.
+
+ Bump these `net.core.wmem_default=262144` & `net.core.wmem_max=262144` entries under `/etc/sysctl.conf`.
+
+4. Reload the sysctl settings.
+
+ ```
+ sysctl -p
+ ```
+
+### Useful resources
+
+1. [UDP definition on wikipedia](https://en.wikipedia.org/wiki/User_Datagram_Protocol)
+2. [Man page of UDP protocol](https://man7.org/linux/man-pages/man7/udp.7.html)
+3. [Redhat networking tuning guide](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/tuning_and_optimizing_red_hat_enterprise_linux_for_oracle_9i_and_10g_databases/sect-oracle_9i_and_10g_tuning_guide-adjusting_network_settings-changing_network_kernel_settings)