udp通信——7k的数据包占用50多k的接收缓冲区

qq_42816102 2018-07-28 02:44:03
请教:最近碰到一个udp丢包问题,定位发现是recv缓冲区满了引起。奇怪的是client只发送一个7k的数据包,在server用tcpdump抓到的也是7k的数据包,但是通过查看cat /proc/net/udp查看,该端口的rx_queue却占用了50多k(0xCC88)。尝试发1k,10k的数据包,发现在recv缓冲区的占用都在原数据的7,8倍?有在别的系统上测试,正常的情况,实际数据包大小与占用recv缓冲区空间大小的比例,应该是1:1.2。目前通过tcpdump已排除没有接收别的udp数据。
请问还有什么手段查看为什么占用那么大空间?
cat /proc/net/udp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode ref pointer drops
76: 00000000:BBDD 00000000:0000 07 00000128:00000000 00:00000000 00000000 0 0 29523 2 dd247680 0
248: 00000000:0489 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 29520 2 dd246fc0 0
249: 00000000:048A 00000000:0000 07 00000000:0000CC88 00:00000000 00000000 0 0 29522 2 dd247440 0
...全文
269 1 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

您解决该问题了吗?我也是有同样的困惑

回复
qq_42816102 2018-07-30
求大神指点
回复
相关推荐
发帖
系统维护与使用区
创建于2007-08-27

1.9w+

社区成员

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
申请成为版主
帖子事件
创建了帖子
2018-07-28 02:44
社区公告
暂无公告