[发明专利]通过使用趋势相关性的存储器泄漏分析有效
申请号: | 201580048644.0 | 申请日: | 2015-09-07 |
公开(公告)号: | CN106663049B | 公开(公告)日: | 2019-10-01 |
发明(设计)人: | A·M·亚伯拉罕;B·克劳福德;D·范恩;范菁;D·J·罗森 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;辛鸣 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 使用 趋势 相关性 存储器 泄漏 分析 | ||
工具和技术通过使用数据类型存储器使用趋势的相关性来辅助开发者检测存储器泄漏。具体而言,通过使用这些工具和技术以标识泄漏相关的数据类型,可以将对存储器泄漏的调查优先化而没有总是求助于使用庞杂和降低性能的存储器转储。处理关于程序的存储器使用的数据以针对相应的数据类型标识随时间的存储器使用趋势,并且在趋势中搜索显著相关性。对相关的趋势(并且因此对它们的对应的数据类型)进行分组。对于分组的数据类型显示存储器使用分析信息,比如最迅速地泄漏数据类型的名称、相关的数据类型的名称、泄漏速率以及在存储器大小和/或数据对象计数方面的泄漏数量。存储器使用数据也可以与处理加载请求相关以指示哪些请求具有关联的存储器泄漏。
背景技术
存储器泄漏是计算机编程中的常见错误。它们出现在存储器被表观地或者实际地分配用于由程序使用、但是没有被使用并且由于它尚未被释放用于使用而将不被使用时。因此,存储器可能变成在效果上不可用于计算使用,直至进程重新启动和/或计算系统重新引导并且没有被系统和其它进程取用的所有存储器被再次标记为可用于使用。泄漏减少可用存储器的总数量,这最终地减少或者终止在系统上运行的软件的功能,直至系统被再次重新引导。泄漏的存储器最常见地是用户空间随机存取存储器(RAM),但是其它类型的存储器(比如内核RAM和硬盘存储装置)也经受到泄漏。
发明内容
一些实施例涉及检测存储器泄漏这一技术问题。一些实施例涉及向软件开发者提供辅助对特定程序中的存储器泄漏的具体原因的标识的信息这一技术问题。一些实施例涉及这两个问题和/或计算领域技术人员清楚的其它问题。
实施例中的一些实施例通过辅助对在计算机(即,具有至少一个处理器和存储器的设备)上运行的软件程序中的存储器泄漏的检测来帮助改进计算机的运作。软件程序具有处理器负荷并且使用存储器。获得关于程序的存储器使用的数据。存储器使用数据包括共同地指定多个数据类型的存储器使用采样。每个存储器使用采样指定在指定的采样时间、用于数据类型中的至少一个数据类型的至少一个使用统计量的值。
一些实施例通过利用处理器来处理存储器使用数据的至少部分,来针对多个数据类型而计算地标识随时间的存储器使用趋势。利用标识的至少两个这样的趋势,这些实施例计算地搜索在数据类型存储器使用趋势之间的相关性。在找到相关性时,对相关的趋势(并且因此对它们的对应的数据类型)分组。也就是说,实施例计算地将数据类型分组成存储器使用趋势相关的组。给定的组中的数据类型往往关于存储器使用相似地表现。给定的存储器使用趋势相关的组中的所有数据类型具有满足预定趋势相关性标准的存储器使用趋势。其趋势不满足预定趋势相关性标准的数据类型不在给定的存储器使用趋势相关的组中。一些实施例然后显示关于分组的数据类型的存储器使用分析信息。例如,可以显示最迅速地泄漏数据类型的名称。作为另一示例,实施例可以显示开始时全部被示出几乎没有或者没有泄漏、并且然后全部被示出泄漏迸发、并且然后再次被示出几乎没有或者没有泄漏的一组数据类型的名称。
这里给出的这些和其它示例仅为说明性的。这一发明内容没有旨在于标识要求保护的主题内容的关键特征或者实质特征,它也没有旨在于用来限制要求保护的主题内容的范围。实际上,提供这一发明内容以(以简化形式)介绍以下在具体实施方式中进一步描述的一些技术概念。利用权利要求定义创新,并且在这一发明内容与权利要求冲突的范围内,应当以权利要求为准。
附图说明
将参照附图给出更具体描述。这些附图仅图示了选择的方面,并且因此没有完全地确定覆盖或者范围。
图1是图示了计算机系统并且也图示了配置的存储介质(有别于仅传播的信号)实施例的框图,该计算机系统具有在可以针对存储器泄露被分析的软件、可以分析存储器泄漏的软件或者二者的控制之下相互交互的至少一个处理器和至少一个存储器以及在可以在多个网络节点上存在的操作环境中的其它项目;
图2是图示了在示例架构中、通过经由使用趋势相关性的存储器泄漏分析来改进计算系统功能的工具和技术的方面的框图;
图3是图示了一些进程和配置的存储介质实施例的步骤的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580048644.0/2.html,转载请声明来源钻瓜专利网。