• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 为什么网络缓冲池会耗尽?

为什么网络缓冲池会耗尽?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了耗尽一生,天涯明月刀内存耗尽,天刀游戏内存已耗尽,天刀内存耗尽怎么解决,游戏内存即将耗尽等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 为什么网络缓冲池会耗尽?
描述:

本帖最后由 jackydi 于 2015-06-03 15:10:14 编辑

网络VxWorks缓冲区

今天遇到一个网络问题,网口怎么都不通,使用muxStop()和muxStart()命令重启网口也不行,使用下面的命令查看网络缓冲区,最下面的free显示为0。大家帮忙看看为什么会出现这种缓冲区耗尽的现象?什么情况下会造成这个现象?
VxWorks 5.4, 8260子卡
-> netPoolShow 0x77b50d0
type        number
---------   ------
FREE    :    128
DATA    :     34
HEADER  :      0
SOCKET  :      0
PCB     :      0
RTABLE  :      0
HTABLE  :      0
ATABLE  :      0
SONAME  :      0
ZOMBIE  :      0
SOOPTS  :      0
FTABLE  :      0
RIGHTS  :      0
IFADDR  :      0
CONTROL :      0
OOBDATA :      0
IPMOPTS :      0
IPMADDR :      0
IFMADDR :      0
MRTABLE :      0
TOTAL   :    162
number of mbufs: 162
number of times failed to find space: 0
number of times waited for space: 0
number of times drained protocols for space: 0
__________________
CLUSTER POOL TABLE
_______________________________________________________________________________
size     clusters    free      usage
-------------------------------------------------------------------------------
1584     81           0       314727        
-------------------------------------------------------------------------------
value = 80 = 0x50 = 'P'
->
 


解决方案1:

你的代码里是否用钩子函数?在return之前是否释放内存?mBlk

解决方案2:

引用 6 楼 jackydi 的回复:
Quote: 引用 5 楼 worldy 的回复:

TOTAL   :    162
number of mbufs: 162
看起来不是内存没有释放,而是数据没有取出来使用

是的,buffer被申请后就没有释放,但是不知道是发送的问题还是接收的问题。
这两天测试的时候,发现FCC还有异常停止发送的现象,就是数据写入到网口的发送BD环中,但是FCC一直都不处理,也不通过中断或者BD返回错误状态。这样在驱动程序中也没有办法判断FCC的状态是正常还是异常。

建议添加超时处理机制,如果接收超时,抛弃一些数据包;估计是数据没有接收完整,程序不做处理,结果造成缓冲区满


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 为什么网络缓冲池会耗尽?

相关文章

  • 2017-06-05 一个DDK初学者的困惑
  • 2017-06-05 电脑通过路由器与互联网的通信IP方式
  • 2017-06-05 串口发送问题
  • 2017-06-05 大家好问一个硬件消息出发的问题大侠们多帮忙啊
  • 2017-06-05 WinCE6启动越来越慢,求指教
  • 2017-06-05 MTKfeaturephone怎么得到附近wifi的ssid,mac,信号强度?
  • 2017-06-05 求BK5823实例
  • 2017-06-05 请问如何在VC6程序中调用DDK函数
  • 2017-06-05 us/os-ii中有关任务调度的问题
  • 2017-06-05 求i2c转串口芯片型号

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问嵌入式技术的发展方向是什么?其技术难点是什么?
    • pbocPBOC电子现金交易选择应用后返回数据中不含PDOL的问题
    • 安装的小问题
    • 搞过CF存储卡驱动的请赐教。。。
    • 小米真的是在破坏国内智能硬件行业环境么?
    • 使用USB设备、打印机、软驱会调用那些API函数
    • overlay绘图刷新的时候会闪烁,是什么原因啊
    • 3G无线路由器
    • ifsddk与DDK的问题
    • 现在主流的电子设计软件的存档是否可以通用或者互相转换

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有