买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:天津南大通用数据技术股份有限公司
摘要:本发明提供了基于多进程协程模型的共享内存泄漏检测方法,包括侵入式检测模式和非侵入式检测模式,使用侵入式检测模式执行内存泄露检测的过程如下:在执行数据库的操作指令前,获取当前指令所在内存池的使用情况,得到内存池的初始状态;数据库的操作指令执行结束后,再次获取当前指令所在内存池的使用情况,得到内存池的最终状态;比较内存池的初始状态和最终状态,若内存使用情况出现单调增加,则说明存在内存泄漏;如果内存使用情况保持不变,则说明不存在内存泄漏。本发明有益效果:将常用内存泄漏检测工具的思想,应用于这种架构的程序,不必启停程序,就能观测程序部分指令的内存泄漏。
主权项:1.基于多进程协程模型的共享内存泄漏检测方法,包括侵入式检测模式,其特征在于:使用侵入式检测模式执行内存泄露检测的过程如下:在执行数据库的操作指令前,获取当前指令所在内存池的使用情况,得到内存池的初始状态;数据库的操作指令执行结束后,再次获取当前指令所在内存池的使用情况,得到内存池的最终状态;比较内存池的初始状态和最终状态,若内存使用情况出现单调增加,则说明存在内存泄漏;如果内存使用情况保持不变,则说明不存在内存泄漏;将侵入式检测模式和非侵入式检测模式相结合,执行内存泄露检测的过程如下:将侵入式检测模式中,获取的数据库的操作指令执行结束后,当前指令所在内存池的使用情况,分解为内存的分配和释放信息,并传入非侵入式检测模式中作为输入的数据;非侵入式检测模式直接判断是否存在内存分配函数已分配内存,但未通过内存释放函数进行释放的情况发生,并查找内存泄漏的具体位置;侵入式检测模式和非侵入式检测模式均为,基于多进程协程模型下设计的共享内存泄露检测模式,其中多进程协程模型的结构具体为:在多进程协程模型下,进程仅作为执行体的容器,线程作为程序的执行体,多个线程均可在不同进程间进行迁移;且多进程协程模型下使用独立于进程之外的共享内存,不同进程间使用同一个内存区域进行交互;使用非侵入式检测模式执行内存泄露检测的过程如下:使用内核探测工具追踪内存分配函数与和内存释放函数分配的内存的地址、大小以及分配时函数的堆栈;根据内核探测工具追踪得到的结果,判断是否存在内存分配函数已分配内存;若存在,且未通过内存释放函数进行释放的情况,则使用内核探测工具追踪得到的堆栈信息,查找内存泄漏的具体位置;内存分配函数的工作流程如下:调用内存分配函数后,内存分配函数从当前内存池中分配内存,若当前内存池的空间足够,直接使用内存池的内存;若当前内存池的空间不足,则从段中分配内存;若段中的空间足够,则从段中分配内存;若段中的空间不足,则判断待分配的内存是否超过总内存的容量上限;若超过总内存的容量上限,则返回错误消息并停止分配;若未超过总内存的容量上限,则创建新段,并在新段中申请内存;在内存分配函数的工作过程中执行如下操作:在线程开启时,通过内核探测工具记录每个线程使用的内存池的数量;每次执行内存的分配或释放操作时,记录当前内存池的使用情况,更新每个内存池使用的内存的大小;每次执行内存的分配操作时,记录每次内存申请的具体信息,包括申请点、申请内存的地址和大小;能观测程序部分指令的内存泄漏。
全文数据:
权利要求:
百度查询: 天津南大通用数据技术股份有限公司 基于多进程协程模型的共享内存泄漏检测方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。