设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 15|回复: 0

linux服务器udp丢包解决办法,查看RcvbufErrors和SndbufErrors内存Socket缓存大小,内核缓冲区参数优化,watch 每秒实时刷新命令

[复制链接]
 成长值: 648

签到天数: 5202 天

[LV.Master]伴坛终老

发表于 2026/4/1 22:32 | 显示全部楼层 |阅读模式 |Google Chrome 146.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
linux服务器udp丢包解决办法,查看RcvbufErrors和SndbufErrors内存Socket缓存大小,内核缓冲区参数优化,watch 每秒实时刷新命令

查看值,发现不为0,代表存在丢包现象
  1. cat /proc/net/snmp | grep -E '^Udp:' | column -t
复制代码
Udp:  InDatagrams  NoPorts  InErrors  OutDatagrams  RcvbufErrors  SndbufErrors  InCsumErrors
Udp:  3868890      14496    329700    2491364       329691        1375190       9


用watch每秒刷新一次,优化后可以看到udp不在丢包
  1. watch -n 1 "nstat -az | grep -E 'UdpRcvbufErrors|UdpSndbufErrors'"
复制代码


编辑文件:/etc/sysctl.conf

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
socket缓冲区大小,默认值124928改成67108864
net.core.rmem_default = 33554432
net.core.wmem_default = 33554432
注意Linux程序读取是是这个default的值,记得也要同时修改max的值

然后执行 /sbin/sysctl -p 让参数生效

此时数值已经不会上涨,ss命令观察确定生效
  1. ss -tunlp -m
复制代码

r 当前使用的接收缓存
rb 当前接收缓存上限值
t 当前使用的发送缓存
tb 当前发送缓存上限值
f 分配的内存页面数量
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2026/4/2 00:05 , Processed in 0.251612 second(s), 20 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表