[发明专利]一种嵌入式系统中内存泄漏诊断处理的方法和装置在审
申请号: | 201610015205.6 | 申请日: | 2016-01-11 |
公开(公告)号: | CN105700968A | 公开(公告)日: | 2016-06-22 |
发明(设计)人: | 叶德焰;陈从华;任赋;许宁;许振坪 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 何家富 |
地址: | 361000 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 内存 泄漏 诊断 处理 方法 装置 | ||
1.一种嵌入式系统中内存泄漏诊断处理的方法,其特征在于:该方法包括以下 步骤,
S1,将内存划分成大小不同的内存块,每个内存块等分成多个子内存,内存 块i的子内存大小定义为Si,i=1,2,3,…,M,且S1<S2<…<SM,将应用程序 申请在用的子内存管理串接起来构成申请链表;
S2,根据应用程序申请内存的大小S,申请一个大于等于S的子内存Si,并 将该子内存节点添加到申请链表中;
S3,应用程序用完内存后,释放该子内存,删除申请表链中的该子内存节点;
S4,以固定周期扫描申请链表上的所有子内存节点,当一个子内存占用时间 超过内存生命周期时,通知应用程序进行处理。
2.如权利要求1所述的嵌入式系统中内存泄漏诊断处理的方法,其特征在于: 所述步骤S2中应用程序初步申请内存的步骤包括,
S210,从子内存最小的内存块i=1开始检索,依次从小到大检索内存块;
S211,判断内存块中剩余内存个数Pi是否大于零,若是则跳转到步骤S212, 若否则i=i+1,判断i是否大于M,如果i大于M,申请内存失败,如果i不 大于M,则转到步骤S211;
S212,判断应用申请内存的大小S是否小于等于子内存大小Si,若是则申请 内存成功,若否则i=i+1,判断i是否大于M,如果i大于M,申请内存失败, 如果i不大于M,则转到步骤S211。
3.如权利要求2所述的嵌入式系统中内存泄漏诊断处理的方法,其特征在于: 所述步骤S211或步骤S212中的申请内存失败进入深度申请内存步骤,
S220,检索申请链表中的所有子内存节点,将子内存大小Si大于申请内存大 小S且子内存占用优先级小于申请内存优先级的子内存节点检索出来,检索 成功转到步骤S221,检索失败则申请内存失败;
S221,将检索结果中优先级最低且内存最小的子内存定义为备用子内存;
S222,释放备用子内存给当前申请的应用程序使用,申请内存成功。
4.如权利要求3所述的嵌入式系统中内存泄漏诊断处理的方法,其特征在于: 所述步骤S221中,如果检索结果中优先级最低且内存最小的子内存大于一 个,则将占用时间长度最长的子内存定义为备用子内存。
5.如权利要求1所述的嵌入式系统中内存泄漏诊断处理的方法,其特征在于: 所述步骤S4中通知应用程序进行处理包括延长内存生命周期,或者更改内 存占用优先级,或者直接释放内存,或者应用程序内存泄漏自动释放内存。
6.一种嵌入式系统中内存泄漏诊断处理的装置,其特征在于:它包括,
内存分配管理单元,用于将内存划分成大小不同的内存块,每个内存块等分 成多个子内存,内存块i的子内存大小定义为Si,i=1,2,3,…,M,且 S1<S2<…<SM,将应用程序申请在用的子内存管理串接起来构成申请链表;
内存申请单元,用于根据应用程序申请内存的大小S,申请一个大于等于S 的子内存Si,并将该子内存节点添加到申请链表中;
内存释放单元,用于应用程序用完内存后,释放该子内存,删除申请表链中 的该子内存节点;
内存诊断单元,用于以固定周期扫描申请链表上的所有子内存节点,当一个 子内存占用时间超过内存生命周期时,通知应用程序进行处理。
7.如权利要求6所述的嵌入式系统中内存泄漏诊断处理的装置,其特征在于: 所述内存申请单元包括初步申请内存单元和深度申请内存单元。
8.如权利要求7所述的嵌入式系统中内存泄漏诊断处理的装置,其特征在于: 所述初步申请内存单元用于从内存块中剩余未使用子内存中申请一个大于 等于S的子内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610015205.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电壁炉的火焰模拟装置
- 下一篇:用于处理分布式作业的方法和系统