291
- 收藏
- 点赞
- 分享
- 举报
海思平台UDP接收或发送会丢包问题
用户态应用程序在接收UDP数据时(单播或组播报文),同时进行其它有延时的操作(如写码流数据到USB存储设备), 应该程序将延迟接收UDP数据包,而socket默认接收缓存只有108544Byte,这样可能会使socket接收缓存满,无法接收新的UDP数据包,出现丢包现象。
可在内核下通过执行下面命令进行确认:
cat /proc/net/snmp | grep Udp
如果RcvbufErrors字段增加较多,说明确实是socket接收缓存满导致的丢包。
以下命令可以增加接收缓冲区,解决以上问题。
echo 20000000 > /proc/sys/net/core/rmem_max
echo 20000000 > /proc/sys/net/core/rmem_default
echo 20000000 > /proc/sys/net/core/netdev_max_backlog
这种改动,需要根据实际码流发送速度和接收程序的延时进行参数调优。
UDP发送可能会丢包,一种原因是CPU发送UDP报文的速率超过了网卡MAC的发包速率,导致网卡MAC的发送缓冲队列满,引起了丢包。
可以在内核下通过执行下面命令进行确认:
ifconfig eth0
如果打印的信息中TX dropped和overruns值基本相等,都增加较多,说明是网络MAC的发送缓冲队列满导致的丢包。
以下命令可以减小发送缓冲区,让CPU发包速率慢一点,解决以上问题。
echo 20000 > /proc/sys/net/core/wmem_max
echo 20000 > /proc/sys/net/core/wmem_default
这种改动,需要根据码流发送速率和丢包率的要求进行参数调优。
可在内核下通过执行下面命令进行确认:
cat /proc/net/snmp | grep Udp
如果RcvbufErrors字段增加较多,说明确实是socket接收缓存满导致的丢包。
以下命令可以增加接收缓冲区,解决以上问题。
echo 20000000 > /proc/sys/net/core/rmem_max
echo 20000000 > /proc/sys/net/core/rmem_default
echo 20000000 > /proc/sys/net/core/netdev_max_backlog
这种改动,需要根据实际码流发送速度和接收程序的延时进行参数调优。
UDP发送可能会丢包,一种原因是CPU发送UDP报文的速率超过了网卡MAC的发包速率,导致网卡MAC的发送缓冲队列满,引起了丢包。
可以在内核下通过执行下面命令进行确认:
ifconfig eth0
如果打印的信息中TX dropped和overruns值基本相等,都增加较多,说明是网络MAC的发送缓冲队列满导致的丢包。
以下命令可以减小发送缓冲区,让CPU发包速率慢一点,解决以上问题。
echo 20000 > /proc/sys/net/core/wmem_max
echo 20000 > /proc/sys/net/core/wmem_default
这种改动,需要根据码流发送速率和丢包率的要求进行参数调优。
我来回答
回答0个
时间排序
认可量排序

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2018-11-07 09:25:05
-
2018-11-07 09:38:34
-
22020-04-08 17:45:46
-
2020-07-21 14:39:06
-
2020-01-03 13:16:12
-
2019-04-12 15:40:33
-
2017-07-02 18:40:34
-
2014-10-27 09:38:10
-
32014-10-10 15:32:25
-
2019-01-04 10:34:44
-
2018-08-11 21:17:09
-
2020-02-29 18:29:17
-
42015-09-29 14:32:18
-
2016-11-04 16:01:34
-
2017-06-30 14:28:33
-
52020-01-09 15:18:35
-
2017-07-27 13:52:06
-
2019-12-17 15:26:52
-
2018-08-15 09:53:17
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认