诊断和缓解计算节点中的存储器泄漏制造技术

技术编号:35853304 阅读:20 留言:0更新日期:2022-12-07 10:38
本公开涉及用于诊断和缓解存储器影响事件的系统、方法和计算机可读介质,诸如存储器泄漏、高存储器使用量或导致主机节点在云计算系统上无法按预期执行的其他存储器问题。这里描述的系统涉及从多个主机节点接收本地生成的存储器使用量数据。这里描述的系统可以聚合存储器使用量数据并且基于经聚合的存储器使用量数据的子集来确定存储器影响诊断。这里描述的系统可以进一步应用缓解模型来缓解存储器影响事件。本文描述的系统提供了一种端到端解决方案,用于使用动态且可扩展的系统来诊断和缓解各种存储器问题,该系统减少存储器泄漏和其他存储器问题对云计算系统的负面影响。和其他存储器问题对云计算系统的负面影响。和其他存储器问题对云计算系统的负面影响。

【技术实现步骤摘要】
【国外来华专利技术】诊断和缓解计算节点中的存储器泄漏

技术介绍

[0001]云计算系统是指可以远程存储和访问数据的计算设备的集合。例如,现代云计算基础设施通常包括以层级结构组织的物理服务器设备的集合,包括计算区域、集群、虚拟局域网(VLAN)、机架、故障域等。云计算系统通常使用不同的类型的虚拟服务(例如,计算容器、虚拟机),虚拟服务为各种客户端或客户提供远程存储和计算功能。这些虚拟服务可以由云计算系统上的各个服务器节点托管。
[0002]近年来,计算技术发展迅速,尤其是云计算系统上服务器节点的能力。因此,云计算基础设施的复杂性和服务器设备的数量都在增长。随着服务器设备数量的增长以及云计算系统托管的服务数量不断增长,处理能力和处理缺陷(例如存储器泄漏)继续对单个设备以及云计算作为一个整体的性能产生重大影响。
[0003]例如,存储器泄漏会以负面的方式显着影响云计算系统上服务器设备的性能。例如,在操作系统(OS)中发生存储器泄漏的情况下,虚拟机和其他应用程序或服务可能会遭受输入/输出(I/O)中断和暂停、功能丢失和进程崩溃。此外,由于新虚拟机可用的存储器容量不足,虚拟机的部署可能会失败。
[0004]传统的存储器管理系统已尝试以多种方式缓解(mitigate)存储器缺陷,但效果有限。例如,许多传统系统尝试使用可以大规模应用的静态程序分析工具来检测存储器泄漏。然而,静态程序分析工具通常无法标识存储器泄漏的唯一实例,并导致正在分析的那些服务器节点的操作严重中断。其他传统系统试图通过在源代码中插入额外的语句来检测系统执行期间的存储器泄漏(例如,检查未引用的存储器块)。这些解决方案虽然通常比静态程序分析工具更准确、更不鲁棒,但通常不可扩展,并且需要为云计算上的每个设备单独部署基础设施。
[0005]在标识和缓解计算设备的网络(例如,云计算系统的服务器节点)上的存储器泄漏和其他处理缺陷问题方面存在这些和其他问题。
附图说明
[0006]图1图示了根据一个或多个实现的包括存储器泄漏管理系统的云计算系统的示例环境。
[0007]图2图示了根据一个或多个实现的存储器泄漏管理系统的示例实现。
[0008]图3A示出了根据一个或多个实现的用于诊断存储器泄漏的示例工作流。
[0009]图3B示出了根据一个或多个实现的用于缓解诊断出的存储器泄漏的示例工作流。
[0010]图4图示了根据一个或多个实现的存储器泄漏管理系统的更详细的实现。
[0011]图5A

图5C示出了根据一个或多个实现的在聚合和分析存储器使用量数据时确定和更新相关时间间隔的示例实现。
[0012]图6图示了用于诊断和缓解云计算系统的一个或多个主机节点上的存储器泄漏的示例性系列动作。
[0013]图7图示了可以被包括在计算机系统内的某些组件。
具体实施方式
[0014]本公开一般涉及存储器泄露管理系统,该存储器泄露管理系统提供用于诊断和缓解存储器影响事件的端到端解决方案,诸如,存储器泄漏、高存储器使用量或其他检测到的可能导致主机节点的存储器事件在云计算系统上无法按预期执行。例如,如下文将进一步详细讨论的,存储器泄漏管理系统可以实现多个系统和服务,这些系统和服务实现了用于标识存储器影响事件的诊断工作流,诸如任意数量的多个主机节点上的存储器泄漏。基于诊断的存储器影响事件(例如,存储器泄漏),存储器泄漏管理系统可以实现系统和服务来标识和执行被预测为解决或以其他方式缓解存储器影响事件的适当缓解动作。在一个或多个实施例中,存储器泄漏管理还生成影响报告,并且在一些情况下,在应用程序或虚拟机推出导致在各种主机节点上发生存储器泄漏的情况下发出推出停止信号。
[0015]例如,存储器泄漏管理系统可以收集存储器使用量数据(例如,核(kernel)模式数据、用户模式数据、操作系统数据、应用程序和进程数据)。存储器泄漏管理系统可以附加地聚合各个时间间隔上的存储器使用量数据,以诊断节点的子集和/或正在经历各种存储器事件的各个节点上的进程。存储器泄漏管理系统可以利用诊断和聚合的存储器使用量数据来确定缓解动作以应用到一个或多个主机节点以防止或以其他方式减少检测到的存储器事件的负面影响。
[0016]如将在下文进一步详细讨论的,本公开包括具有本文描述的特征的多个实际应用,这些特征提供与诊断和缓解云计算系统的选定主机节点上的存储器泄漏相关联的益处和/或解决问题。本文结合由存储器泄漏管理系统提供的各种特征和功能,特别是结合诊断和缓解存储器泄漏来讨论一些示例益处。然而,应当理解,结合一个或多个实现所讨论的益处是通过示例的方式提供的,并且不旨在成为存储器泄漏管理系统的所有可能益处的综合列表。
[0017]作为第一示例,在一个或多个实现中,存储器泄漏管理系统通过卸载诊断和确定缓解(mitigation)动作以在相应的主机节点上执行的动作来减少处理资源的花费。例如,主机节点可以选择性地采样存储器使用量数据并将其提供给存储器泄漏管理系统,以便在另外的(多个)服务器设备上进行分析。在接收到由每个主机节点本地生成的存储器使用量数据时,存储器泄漏管理系统可以处理存储器使用量数据以确定是否已经发生存储器泄漏以及确定有关云计算系统的选择性主机节点上的存储器泄漏的细节。
[0018]除了从运行有应用程序和服务的主机节点卸载处理资源外,存储器泄漏管理系统还可以聚合存储器使用量数据,以提高诊断存储器泄漏问题的准确性,并减少关于各种记忆影响事件标识出的误报的数量。例如,如下文将更详细讨论的,存储器泄漏管理系统可以聚合存储器使用量数据以标识和分析存储器使用量的趋势以确定特定类型的存储器影响事件以及这些事件的严重性。使用此存储器,存储器泄漏管理系统可以选择性地标识候选节点,以进一步分析准确地诊断和缓解存储器影响事件。
[0019]在本文描述的一个或多个实施例中,存储器泄漏管理系统可以另外实施用于缓解存储器影响事件同时限制诊断和缓解存储器影响事件的影响的端到端解决方案。例如,通过实现缓解模型,存储器泄漏管理系统可以基于对主机节点的最小影响来执行各种缓解动作。例如,存储器泄漏管理系统可以根据缓解模型执行各种侵入性较小的缓解操作(例如,驱动程序重新启动、服务重新启动、进程重新启动),而不是重新安装检测到存储器泄漏的
任何主机节点并将执行更具侵入性的缓解措施(例如,重新安装主机节点)限制在需要采取更具侵入性的缓解措施的情况下。
[0020]如前述讨论中所示,本公开利用各种术语来描述本文所述系统的特征和优点。现在提供关于其中一些术语的含义的更多细节。例如,如本文所用,“云计算系统”指的是连接计算设备的网络,其向计算设备(例如,客户设备)提供各种服务。例如,如上所述,分布式计算系统可以包括以层级结构组织的物理服务器设备(例如,服务器节点)的集合,包括集群、计算区域、虚拟局域网(VLAN)、机架、故障域等。
[0021]如本文所用,“主机节点”是指计算设备网络上的任何计算设备。例如,主机节点可以指代云计算系统上的任何服务器设备。主机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:收集云计算系统上的多个主机节点的存储器使用量数据,所述存储器使用量数据包括与所述多个主机节点的一种或多种存储器使用量类型对应的采样数据;在一个或多个预定间隔上聚合所述存储器使用量数据,以基于满足一个或多个影响度量的主机节点的子集的存储器使用量数据,从所述多个主机节点中确定被预测为具有存储器泄漏的主机节点的所述子集;基于与主机节点的所述子集对应的存储器使用量数据,诊断针对主机节点的所述子集的一个或多个存储器泄漏;以及将缓解模型应用到经聚合的所述数据的部分,以确定和生成缓解命令以提供到来自主机节点的所述子集中的一个或多个主机节点。2.根据权利要求1所述的方法,其中收集存储器使用量数据包括:从所述多个主机节点中的每个主机节点,接收本地生成的存储器使用量数据,所述本地生成的存储器使用量数据包括由在所述多个主机节点中的每个主机节点上的一个或多个代理采样的存储器使用量数据。3.根据权利要求2所述的方法,其中所述一个或多个代理包括用于收集不同类型的存储器使用量数据的第一代理和第二代理,其中所述第一代理收集针对一个或多个应用进程的存储器使用量数据,以及其中所述第二代理收集针对操作系统和驱动程序的存储器使用量数据。4.根据权利要求1所述的方法,其中聚合所述存储器使用量数据包括:针对每个主机节点,确定相关时间间隔,其中确定所述相关时间间隔包括:确定针对主机节点的所述存储器使用量数据的趋势是否已经增加超过阈值时间段;以及基于确定针对所述主机节点的所述存储器使用量数据的所述趋势是否已经增加超过所述阈值时间段来迭代地修改所述时间间隔。5.根据权利要求4所述的方法,其中聚合所述存储器使用量数据还包括:基于与经修改的所述时间间隔相对应的经聚合的所述存储器使用量数据的部分的时间戳选择性地标识经聚合的所述存储器使用量数据的部分。6.根据权利要求1所述的方法,其中所述一个或多个影响度量包括以下一项或多项:在相关时间间隔上的存储器使用量的阈值增加;在短时间期间上的存储器使用量的阈值增加;在所述相关时间间隔上的存储器使用量的阈值减少;或在所述相关时间间隔上的存储器使用量没有变化。7.根据权利要求1所述的方法,还包括:使所述多个主机节点向分析服务提供附加的存储器使用量数据,所述分析服务包括所述云计算系统或不同云计算系统上的第三方服务;以及从所述分析服务,接收与已经发生存储器泄漏的特定主机节点和进程相关的信息。8.根据权利要求7所述的方法,还包括:发出推出停止信号,使所述云计算系统上的一个或多个应用程序的推出停止,其中确定主机节点的所述子集还基于从所述多个主机节点中在发出所述推出停止信号之前、由所述一个或多个应用程序的所述推出影响的主机节点
的标识。9.根据权利要求1所述的方法,其中诊断所述一个或多个存储器泄漏包括以下一项或多项:确定所述一个或多个存储器泄漏的严重性;或者确定所述一个或多个存储器泄漏的类型,以及其中应用所述缓解模型包括:基于所述一个或多个存储器泄漏的经确定的所述严重性或经确定所述类型从多个缓解动作中确定所述缓解动作。10.根据权利要求1所述的方法,其中诊断所述一个或多个存储器泄漏包括:确定所述一个或多个存储器泄漏的类型和所述一个或多个存储器泄漏的严重性,并且其中应用所述缓解模型包括:经过缓解树迭代,所述...

【专利技术属性】
技术研发人员:陈聪杨鑫晟党映农秦思
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1