将内核对象信息包括在用户转储中的制作方法

文档序号:8430643阅读:482来源:国知局
将内核对象信息包括在用户转储中的制作方法
【专利说明】
【背景技术】
[0001]数据存储系统中的存储阵列由对来自主机计算机的数据存储和数据访问请求进行处理的存储处理器进行控制。存储处理器是具有被设计为对来自需要访问大型存储器容量的其它计算机或电子设备的输入和输出请求进行处理的软件的计算机。
[0002]在存储处理器中,计算机软件程序可能并非始终都完全如预期的那样执行,并且在软件中可能存在需要纠正或修正的问题或故障。按照这些原则,考虑由于可用文件句柄池在文件句柄在使用后并未返回至池中而被用尽所发生的句柄泄漏。存储处理器将文件句柄添加至文件以在文件处于存储处理器中的同时简化其处理和追踪。当文件从存储处理器删除时,假定存储处理器中的软件使得存储处理器将文件句柄返回至池中以便重新分配至另一文件。如果存储处理器并非始终将所删除文件的文件句柄返回至池中,则最终可用文件句柄的数目将被用尽。
[0003]为了确定问题出现在软件操作中的位置,故障分析师将查看被称作线程的计算机软件程序在故障时在做什么。故障分析师所使用的数据能够在所谓的存储器转储文件中找至IJ。转储实质上是线程状态的快照。存储器转储并非必然是系统崩溃,而是可以被用于数据米集。
[0004]计算机可以在程序重启之前生成存储器转储文件,以便为故障分析师提供一些信息以便用来标识出在程序代码中的何处可能找到故障以及根本原因。常规的软件问题标识方法包含检查存储器转储文件。

【发明内容】


[0005]遗憾的是,以上所描述的常规软件问题标识方法存在着缺陷。例如,存储器转储文件可能无法始终为分析师提供充分数据以确定或标识软件问题的根本原因。例如,在以上所讨论的其中在文件删除时处理文件的程序无法将文件句柄返回至池中的文件句柄泄漏情形中,转储文件可能无法单独提供充分的信息以轻易标识软件问题的根本原因。这是因为存储器中的文件句柄数据可能并不具有与每个文件句柄相关联的文件名,并且在不知道与问题相关联的文件名的情况下可能难以标识出产生软件问题的软件的特定线程。
[0006]与以上所描述的常规软件问题标识方法相比,有所改进的技术涉及在执行存储器转储之前从操作系统(OS)内核获取并存储所选择的数据元素。获取OS内核数据可以包括创建专用于收集数据并且将其存储在存储器位置中以便在存储器转储之后进行分析的线程。操作系统内核数据将被单独分析或者结合存储器转储数据进行分析以标识软件问题的根本原因。从操作系统内核所选择的数据要素可以包括与突出(outstanding)文件句柄相关联的文件名称,以及诸如互斥、关键扇区、事件和信号标(semaphore)数据之类的同步对象。操作系统内核数据可以被用来更容易地标识软件中存在句柄泄漏问题、死锁问题、进程挂起问题和线程挂起问题的位置。
[0007]在一种配置形式中,一种用于标识计算机中的软件问题的系统包括通信接口、存储器以及具有控制器的处理电路。该处理电路可以执行软件过程以在软件问题所导致的存储器转储之前将OS内核数据存储在存储器位置中。该OS内核数据可以被单独分析或者结合存储器转储数据进行分析以标识根本原因,并且在标识出根本原因时生成警告。
[0008]在一种配置形式中,一种具有非瞬态计算机可读介质的计算机程序产品存储指令集合,该指令集合通过存储并分析操作系统内核数据以便标识软件问题的根本原因而执行标识软件问题的方法。
【附图说明】
[0009]图1是能够标识软件问题的电子设备的示例性组件的框图。
[0010]图2是图1的电子设备所执行的过程的流程图。
[0011]以上和其它的对象、特征和优势将由于以下对附图中所示的本发明的特定实施方式的描述而是容易理解的,附图中同样的附图标记贯穿不同视图而指代相同的部分。附图并非必然依比例进行绘制,而是强调说明本发明各个实施方式的原则。
【具体实施方式】
[0012]图1是能够标识软件问题的电子设备100的示例性组件的框图。该电子设备可以是诸如存储处理器的计算机,该存储处理器诸如102或132,并且可以从诸如主机128和158的主机服务器接收并存储数据,并且恢复数据并将该数据传送至主机服务器128和158。
[0013]存储处理器102具有存储器104、处理器112、逻辑电路120以及输入/输出(I /O)单元126。存储器104具有一组存储器位置,其中的一些存储器位置被用来存储从存储器扇区106中的存储器转储操作所获得的数据。存储器扇区108被用来存储从OS内核118所获得的数据,并且存储器扇区110被用来存储来自存储器转储106和OS内核存储器108的整合数据。存储器扇区110中的整合数据可以是两个存储器扇区的叠加,或者其可以是从诸如可以由逻辑电路120所创建的各种形式的分析所计算的数值。存储器104的多个部分可以被用于存储来自根本原因分析的结果或历史趋势数据。
[0014]处理器112可以操作一组可以被称作线程的个体程序步骤。例如,线程I可以位于处理器中被示为114的部分,并且可以是对经由总线130对针对诸如128或158的主机集合中的一部分的数据存储请求和数据获取请求进行处理。位于位置116的线程2可以是经由总线130、160和162对来自不同主机或用户集合或者针对诸如存储处理器132的不同存储处理器的请求进行处理。
[0015]处理器112可以仅是存储处理器102中的处理器,或者其可以是一组个体处理器之一。处理器112具有对其行为进行控制的操作系统(OS)程序,并且OS内核118具有存储在处理器112中的存储器位置中的信息。OS内核将包括将数据文件与该文件在存储处理器102中的逻辑和物理地址相关联的指针表格和映射,以及诸如附属于文件的文件句柄的快捷方式。
[0016]逻辑电路120可以包括用于对各个线程114和116的操作状态进行监视的电路122。例如,如果池中可用的文件句柄的数目小于阈值,则监视器122可以查看池中文件句柄数目的最近趋势以确定存在句柄泄漏的软件问题。监视器122可以发起线程以从OS内核收集所选择的信息要素,诸如与即使文件已经被删除但是还没有被返回至池中的文件句柄相关联的文件名称,并且将该数据发送至分析器124并且将该数据存储在存储器位置108中。利用这样的配置形式,可以在进行文件转储时进行适当分析所需的数据,或者在故障之前发现句柄泄漏的根本原因。
[0017]I / O单元126对存储处理器102的各个部分与例如132的其它存储处理器以及主机128和158之间的输入和输出通信进行控制。I / O单元126还可以与存储处理器用户或管理员以及与其它设备进行通信。
[0018]图2是图1的电子设备100所执行的过程200的流程图,其中在步骤202,确定可能需要存储器转储。例如,图1的监视器122可以注意到可用文件句柄的数目已经稳定下降,或者线程114和主机128或另一线程116之间的连接已经没有被响应超过所选定的时间段,即线程已经挂起。在这些情形中的任一种中,或者利用许多其它可能的问题警告符号,逻辑电路120可以确定可能发生存储器转储并且发起动作。存储器转储可以被认为是程序操作的状况或线程状态的快照,而并非必然暗示着整体系统崩溃。存储器转储处理可以简单地包括在已知时间点存储线程的状态,并且重启所讨论系统中的一部分。
[0019]在步骤204,逻辑电路120访问从OS内核118所选择的数据,并且在步骤206将所选择的数据存储在存储器104中的存储器位置108。对于故障分析师而言可能有用的OS内核数据108的类型示例包括文件的文件名称以及事件句柄、互斥、信号标、事件、关键扇区、进程线程挂起和关键超时数据。
[0020]在步骤208,分析师查看OS内核数据,或者逻辑电路120的分析器124检查所存储的OS内核数据,以标识软件问题的根本原因。如果根本原因可以在步骤208被标识,则在步骤210,在步骤212经由I / 0126将根本原因传送至存储处理器的用户,诸如存储处理器的管理员,或者在主机128的用户具有管理授权的情况下将其传送至该用户。
[0021]如果在步骤208没有标识出根本原因,则在步骤210,该方法进行至步骤214,其中逻辑电路120执行存储器转储,并且在步骤216将转储数据存储在存储器104的存储器位置106。在步骤218,分析师查看转储数据,或者逻辑电路120的分析器124检查该转储数据,以标识出软件问题的根本原因。如果根本原因可以在步骤220被标识,则在步骤222将根本原因传送至存储处理器的用户,诸如存储处理器102的管理员。
[0022]如果根本原因无法被标识,则方法进行至步骤224,其中逻辑电路120将OS内核数据108与转储数据106进行合并以在存储器104中形成合并数据110。该合并数据可以是将OS内核数据添加至转储数据,或者其可以由逻辑120进行数学变换,或者其也可以包含历史趋势数据或外推数据。而且,在步骤224,由分析师或分析器124对合并数据进行分析以标识出软件问题的根本原因。
[0023]在步骤226,如果根本原因已经在步骤224被标识,则该根本原因由I / 0126传送至用户。如果根本原因还没有被标识,则该方法结束,并且分析师将对存储处理器执行测试过程以再现该软件问题并且尝试标识出根本原因。
[0024]利用这样的配置形式,能够自动标识出电子设备中的软件问题的许多根本原因,或者故障分析的任务得以更为快速地进行改进和解决。
[0025]如贯穿文本所使用的,词语“包括”、“包含”和“具有”意在给出某物的某些事项、步骤、要素或方面,其中这些仅通过示例提供而本发明并不局限于这些特定实施方式。此外,除非相反地指出,否则如这里所使用的词语“集合”指示一个或多个某物。
[0026]已经对某些实施方式进行了描述,能够形成多种可替换的实施方式或变化形式。例如,以上讨论已经使用了直接通过通信线路连接至其它存储处理器和主机服务器的存储处理器,然而,存储处理器无需使用总线线路进行通信,并且可以使用无线、RF、红外通信线路。通信还可以使用网络连接,诸如互联网或云而无需是直接的连线。此外,所讨论的配置形式可以被任意电子设备所使用而并非简单地局限于存储处理器,并且任意计算机都可以使用所描
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1