CN115562918A - 计算机系统故障的测试方法、装置、电子设备及可读介质 - Google Patents
计算机系统故障的测试方法、装置、电子设备及可读介质 Download PDFInfo
- Publication number
- CN115562918A CN115562918A CN202211215600.0A CN202211215600A CN115562918A CN 115562918 A CN115562918 A CN 115562918A CN 202211215600 A CN202211215600 A CN 202211215600A CN 115562918 A CN115562918 A CN 115562918A
- Authority
- CN
- China
- Prior art keywords
- processing unit
- central processing
- internal
- writing
- internal memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 159
- 230000015654 memory Effects 0.000 claims abstract description 142
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000002159 abnormal effect Effects 0.000 claims abstract description 18
- 238000002347 injection Methods 0.000 claims description 29
- 239000007924 injection Substances 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000758 substrate Substances 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 87
- 230000001960 triggered effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例提供了一种计算机系统故障的测试方法、装置、电子设备及可读介质。所述方法包括:在计算机系统中写入第一故障数据,以使中央处理器循环触发系统管理中断;随机向至少一个内存储器写入第二故障数据,以使内存储器发生不可纠正错误,中央处理器在循环触发系统管理中断的过程中针对内存储器的不可纠正错误生成内部错误信息;基板管理控制器基于内部错误信息,生成系统事件日志;获取基板管理控制器生成的系统事件日志;对系统事件日志进行解析,生成针对中央处理器的测试结果。实现基于系统事件日志对中央处理器自身异常的情况下对计算机系统中产生的内部错误是否可以正确识别进行测试,可以提高计算机系统整体的稳定性。
Description
技术领域
本发明涉及计算器测试技术领域,特别是涉及一种计算机系统故障的测试方法、一种计算机系统故障的测试装置、一种电子设备以及一种计算机可读介质。
背景技术
在计算机运行的过程中,计算机如果发生故障,中央处理器(Central ProcessingUnit,CPU)可以产生内部错误(internal error,IERR)。内部错误是中央处理器报告的灾难性错误,但通常由中央处理器以外的设备(例如,内存、PCIe)造成的。它表明中央处理器在系统中检测到错误或从系统组件接收到错误指令的迹象,中央处理器内部错误很少由中央处理器故障引起,一般由其他故障比如内存不可纠正错误(uncorrect error,UCE)引起,产生内部错误后会由基板管理控制器(Baseboard Management Controller,BMC)进行中央处理器寄存器的收集,然后进行寄存器的解析,进而明确具体故障件,同时上报系统事件日志(System Event Log,SEL)。
为了确保计算机运行稳定,可以主动地触发中央处理器产生内部错误,并解析中央处理器是否生成了正确的系统事件日志,进而判断中央处理器的寄存器是否完整记录了计算机系统内部产生的错误。但是,传统的测试方法只考虑了中央处理器是否可以针对中央处理器以外的设备产生的错误进行正确记录,而并未考虑中央处理器自身的故障是否可能对中央处理器处理内部错误产生不良影响。
发明内容
本发明实施例是提供一种计算机系统故障的测试方法、一种计算机系统故障的测试装置、一种电子设备以及一种计算机可读介质,以测试在中央处理器自身的故障的情况下对计算机系统中产生的内部错误是否可以进行准确识别。
本发明实施例公开了一种计算机系统故障的测试方法,其特征在于,其应用于计算机系统,所述计算机系统中部署有基板管理控制器、中央处理器、以及至少一个内存储器,所述方法包括:
在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
获取所述基板管理控制器生成的所述系统事件日志;
对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
可选地,所述对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果的步骤,包括:
提取所述系统事件日志中记载的发生故障的内存储器位置;
确定所述内存储器位置是否与所述第二故障数据的写入位置匹配;
若所述内存储器位置与所述第二故障数据的写入位置匹配,确定所述中央处理器测试正常;
若所述内存储器位置与所述第二故障数据的写入位置不匹配,确定所述中央处理器测试异常。
可选地,所述在计算机系统中写入第一故障数据的步骤,包括:
基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据。
可选地,所述方法还包括:
在所述中央处理器中注入生成内部错误信息的生成条件,所述生成条件为内存储器发生不可纠正错误。
可选地,所述随机向至少一个所述内存储器写入第二故障数据的步骤,包括:
在至少一个所述内存储器中随机确定待写入故障数据的存储位置;
获取所述存储位置对应的存储地址;
基于所述存储地址,向所述存储位置写入第二故障数据。
可选地,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,包括:
针对所述存储地址,执行错误注入命令;所述错误注入命令用于尝试向所述存储地址对应的存储位置写入第二故障数据;
检测所述中央处理器中的扩展显示寄存器是否产生错误信息;
若所述扩展显示寄存器产生错误信息,确定所述第二故障数据注入成功。
可选地,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,还包括:
若所述扩展显示寄存器未产生错误信息,重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
本发明实施例还公开一种计算机系统故障的测试装置,其应用于计算机系统,所述计算机系统中部署有基板管理控制器、中央处理器、以及至少一个内存储器,所述装置包括:
第一写入模块,用于在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
第二写入模块,用于随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
日志获取模块,用于获取所述基板管理控制器生成的所述系统事件日志;
解析模块,用于对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
可选地,所述解析模块包括:
提取模块,用于提取所述系统事件日志中记载的发生故障的内存储器位置;
匹配模块,用于确定所述内存储器位置是否与所述第二故障数据的写入位置匹配;
第一解析子模块,用于若所述内存储器位置与所述第二故障数据的写入位置匹配,确定所述中央处理器测试正常;
第二解析子模块,用于若所述内存储器位置与所述第二故障数据的写入位置不匹配,确定所述中央处理器测试异常。
可选地,所述第一写入模块包括:
第一写入子模块,用于基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据。
可选地,所述装置还包括:
条件注入模块,用于在所述中央处理器中注入生成内部错误信息的生成条件,所述生成条件为内存储器发生不可纠正错误。
可选地,所述第二写入模块步骤,包括:
存储位置确定子模块,用于在至少一个所述内存储器中随机确定待写入故障数据的存储位置;
地址获取子模块,用于获取所述存储位置对应的存储地址;
第二写入子模块,用于基于所述存储地址,向所述存储位置写入第二故障数据。
可选地,所述第二写入模块包括:
命令执行子模块,用于针对所述存储地址,执行错误注入命令;所述错误注入命令用于尝试向所述存储地址对应的存储位置写入第二故障数据;
错误检测模块,用于检测所述中央处理器中的扩展显示寄存器是否产生错误信息;
注入成功判断子模块,用于若所述扩展显示寄存器产生错误信息,确定所述第二故障数据注入成功。
可选地,所述第二写入模块还包括:
重复注入子模块,用于若所述扩展显示寄存器未产生错误信息,重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
通过本发明实施例的计算机系统故障的测试方法,在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;获取所述基板管理控制器生成的所述系统事件日志;对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。从而可以通过写入第一故障数据,触发中央处理器进入系统管理中断风暴,使得中央处理器处于故障状态。在此情况下,通过写入第二故障数据触发内存储器发生不可纠正错误,并在该情况下采集基于中央处理器中内部错误信息生成的系统事件日志,并基于系统事件日志对中央处理器自身异常的情况下对计算机系统中产生的内部错误是否可以正确识别进行测试,从而实现了针对中央处理器的性能进行更严格的测试,可以提高计算机系统整体的稳定性。
附图说明
图1是本发明实施例中提供的一种计算机系统故障的测试方法的步骤流程图;
图2是本发明实施例中提供的另一种计算机系统故障的测试方法的步骤流程图;
图3是本发明实施例中提供的一种计算机系统故障的测试方法的流程示意图;
图4是本发明实施例中提供的一种计算机系统故障的测试装置的结构框图;
图5是本发明实施例中提供的一种电子设备的框图;
图6是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例中提供的一种计算机系统故障的测试方法的步骤流程图,其应用于计算机系统,所述计算机系统中部署有基板管理控制器、中央处理器、以及至少一个内存储器,具体可以包括如下步骤:
具体而言,计算器系统可以为应用于个人电脑、服务器、移动终端等电子设备中的系统,本发明对此不做限制。
其中,基板管理控制器可以用于对中央处理器产生的内部错误进行解析,并相应地生成系统事件日志。通过系统事件日志,可以得知中央处理器中记载的错误信息。
中央处理器可以用于对计算机系统内部的各组件进行管理。在计算器内部发生异常的情况下,中央处理器可以记录各组件所产生的异常,同时尝试对计算机系统内部发生的异常进行修复。
内存储器可以为计算机系统中可以用于暂时存放中央处理器中的运算数据,以及与硬盘等外部存储器交换的数据。若内存储器发生故障,中央处理器可以记录由于内存储器故障而产生的错误信息。
步骤101,在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
为了提高计算机系统的运行稳定性,可以使得中央处理器进行进入异常状态,以测试中央处理器在异常状态下,是否仍然可以正常处理计算机系统中其他部件故障产生的内部错误。
由此,可以在计算机系统中写入第一故障数据,以使中央处理器循环触发系统管理中断(System Management Interrupt,SMI)。
具体而言,系统管理中断是中央处理器提供的一种中断形式,是一个生成的中断,以便中央处理器可以服务计算机系统管理事件。通常,这些是内存储器或外设设备错误或其他形式的关键中断。触发时中央处理器需要进入系统管理模式(System ManagementMode)中,且需要配置系统管理内存(System Management RAM,SMRAM)。中央处理器在进入系统管理模式前,会把寄存器的值存储在系统管理内存中,再将中央处理器的执行程序跳转到系统管理模式入口点(SMI ENTRY POINT)执行,处理完成后再利用系统管理恢复指令(Resume from System Management,RSM)跳转回原来的地方继续执行,同时恢复中央处理器寄存器的值。系统管理中断分为软件中断和硬件中断,即用程序设定产生中断和外部硬件产生中断如电源按键按下产生中断。每一次系统管理中断触发中央处理器均会要进入系统管理模式,然后进行错误处理及上报,处理完成后退出系统管理模式。每次系统管理模式进入退出都会产生延迟,也即系统管理模式的响应时间,且进入系统管理模式后会影响系统性能,而业务的运行对系统性能都有很高的要求。由此,需要确保中央处理器在发生系统管理中断的情况下,仍然可以具有较好的稳定性。
由此,通过使中央处理器循环触发系统管理中断,可以使中央处理器长期处于在异常运行的状态,中央处理器可以无法及时地处理各种事件。若在这样的环境下,中央处理器仍然可以正常完成内部错误信息的处理,则可以认为计算机系统中中央处理器可以具有较好的稳定性。
步骤102,随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
计算机系统中可以配置有一个或多个内存储器。为了测试中央处理器在循环触发系统管理中断的过程中是否可以正常处理错误信息,可以随机地选取一个或多个内存储器,并将内存储器写入第二故障数据,以触发内存储器发生不可纠正错误(uncorrecterror,UCE)。其后,内存储器的不可纠正错误可以触发中央处理器针对所述内存储器的不可纠正错误生成内部错误信息(internal error,IERR)。中央处理器可以生成的内部错误信息中,一般可以记载有与内部错误产生位置相关的信息。
基板管理控制器在处理器内部错误发生之后,可以基于内部错误信息,生成系统事件日志。具体地,基板管理控制器中可以记载有有关内部错误信息的解析信息。
步骤103,获取所述基板管理控制器生成的所述系统事件日志;
在内部错误发生之后,可以调取基板管理控制器生成的系统事件日志,以基于系统事件日志,确定中央处理器是否正确地写入了内部错误发生位置。
步骤104,对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
具体而言,系统事件日志中可以记载有基板管理控制器对内部错误信息的解析信息。由此,可以通过解析信息,确定中央处理器判断的内部错误信息的产生位置。其后,可以基于中央处理器是否正确判断了内部错误信息的产生位置,相应的生成针中央处理器的测试结果,实现对处于异常状态下的中央处理器进行测试,进一步提高计算机系统的稳定性。
通过本发明实施例的计算机系统故障的测试方法,在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;获取所述基板管理控制器生成的所述系统事件日志;对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。从而可以通过写入第一故障数据,触发中央处理器进入系统管理中断风暴,使得中央处理器处于故障状态。在此情况下,通过写入第二故障数据触发内存储器发生不可纠正错误,并在该情况下采集基于中央处理器中内部错误信息生成的系统事件日志,并基于系统事件日志对中央处理器自身异常的情况下对计算机系统中产生的内部错误是否可以正确识别进行测试,从而实现了针对中央处理器的性能进行更严格的测试,可以提高计算机系统整体的稳定性。
参照图2,示出了本发明实施例中提供的一种计算机系统故障的测试方法的步骤流程图,其应用于计算机系统,所述计算机系统中部署有基板管理控制器、中央处理器、以及至少一个内存储器,具体可以包括如下步骤:
步骤201,基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
为了提高计算机系统的运行稳定性,可以使得中央处理器进行进入异常状态,以测试中央处理器在异常状态下,是否仍然可以正常处理计算机系统中其他部件故障产生的内部错误。由此,可以在计算机系统中写入第一故障数据,以使中央处理器循环触发系统管理中断(System Management Interrupt,SMI)。
在具体实现中,中央处理器中可以配置有特殊模块寄存器(MC Bank)。计算机系统可以实现生成模拟的故障数据,得到第一故障数据,其后基于智能平台管理指令(Intelligent Platform Management Interface,IPMI)将第一故障数据写入特殊模块寄存器中。其后中央处理器可以识别到特殊模块寄存器中写入的第一故障数据,并且为了修复故障数据,可以循环触发系统管理中断。
在本发明的一种实施例中,所述方法还包括:
S11,在所述中央处理器中注入生成内部错误信息的生成条件,所述生成条件为内存储器发生不可纠正错误。
具体而言,为了实现触发中央处理器生成内部错误信息,可以在触发内存储器发生错误之前,首先在中央处理器中注入生成内部错误信息的生成条件,使得中央处理器在测试环境下,可以针对测试过程中内存储器产生的不可纠正错误相应地生成内部错误信息。
作为本发明的一种具体示例,可以在机器检查异常信息(Machine-checkexception,MCE)设置断点,以实现在中央处理器中注入生成内部错误信息的生成条件。
步骤202,随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
计算机系统中可以配置有一个或多个内存储器。为了测试中央处理器在循环触发系统管理中断的过程中是否可以正常处理错误信息,可以随机地选取一个或多个内存储器,并将内存储器写入第二故障数据,以触发内存储器发生不可纠正错误(uncorrecterror,UCE)。其后,内存储器的不可纠正错误可以触发中央处理器针对所述内存储器的不可纠正错误生成内部错误信息(internal error,IERR)。中央处理器可以生成的内部错误信息中,一般可以记载有与内部错误产生位置相关的信息。
基板管理控制器在处理器内部错误发生之后,可以基于内部错误信息,生成系统事件日志。具体地,基板管理控制器中可以记载有有关内部错误信息的解析信息。
在本发明的一种实施例中,所述随机向至少一个所述内存储器写入第二故障数据的步骤,包括:
S21,在至少一个所述内存储器中随机确定待写入故障数据的存储位置;
具体而言,计算机系统可以在至少一个内存储器中随机确定一待写入故障数据的存储位置。
S22,获取所述存储位置对应的存储地址;
在确定存储位置之后,计算机系统可以请求获取存储位置对应的存储地址,以便基于存储地址写入第二故障数据。
S23,基于所述存储地址,向所述存储位置写入第二故障数据。
计算机系统可以请求获取存储位置对应的存储地址,其后可以基于快速数据路径(eXpress Data Path,XDP),向存储位置对应的存储地址写入第二故障数据。
在本发明的一种实施例中,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,包括:
S31,针对所述存储地址,执行错误注入命令;所述错误注入命令用于尝试向所述存储地址对应的存储位置写入第二故障数据;
计算机系统针对存储地址,基于快速数据路径执行错误注入命令。该错误注入命令可以用于尝试向所述存储地址对应的存储位置写入第二故障数据。
S32,检测所述中央处理器中的扩展显示寄存器是否产生错误信息;
由于计算机系统可能无法成功向存储位置写入第二故障数据,因此,恶意通过检测所述中央处理器中的扩展显示寄存器(MCA_ERR_SRC_LOG)是否产生错误信息,以确认是否成功将第二故障数据写入内存储器中。
S33,若所述扩展显示寄存器产生错误信息,确定所述第二故障数据注入成功。
若扩展显示寄存器产生错误信息,则可以确定第二故障数据注入成功,此时可以等待中央处理器生成内部错误信息,以及基板管理控制器生成系统事件日志。
在本发明的一种实施例中,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,还包括:
S41,若所述扩展显示寄存器未产生错误信息,重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
若扩展显示寄存器未产生错误信息,则可以确认第二故障数据未注入成功,此时需要重新注入故障数据触发内存储器故障,由此,需要重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
可选地,在完成本次第二故障数据的注入之后,还可以重复向其他存储位置注入第二故障数据,以不断引发计算机系统内部的错误,并检查中央处理器是否可以始终准确地识别到发生错误的存储位置,以进一步提高计算机系统的稳定性。
步骤203,获取所述基板管理控制器生成的所述系统事件日志;
在内部错误发生之后,可以调取基板管理控制器生成的系统事件日志,以基于系统事件日志,确定中央处理器是否正确地写入了内部错误发生位置。
步骤204,对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
具体而言,系统事件日志中可以记载有基板管理控制器对内部错误信息的解析信息。由此,可以通过解析信息,确定中央处理器判断的内部错误信息的产生位置。其后,可以基于中央处理器是否正确判断了内部错误信息的产生位置,相应的生成针中央处理器的测试结果,实现对处于异常状态下的中央处理器进行测试,进一步提高计算机系统的稳定性。
在本发明的一种实施例中,所述对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果的步骤,包括:
S51,提取所述系统事件日志中记载的发生故障的内存储器位置;
具体而言,在获取得到系统事件日志之后,可以对系统事件日志进行解析,提取得到系统事件日志中记载的发生故障的内存储器位置。
S52,确定所述内存储器位置是否与所述第二故障数据的写入位置匹配;
计算机系统可以将系统事件日志中记载的发生故障的内存储器位置与第二故障数据的写入位置匹配,以确定中央处理器是否可以正确地识别内存储器发生故障的存储位置。
S53,若所述内存储器位置与所述第二故障数据的写入位置匹配,确定所述中央处理器测试正常;
若内存储器位置与第二故障数据的写入位置匹配,则可以确认中央处理器测试正常,中央处理器具有较好的业务处理能力,提供确保计算机系统具有较好的稳定性。
S54,若所述内存储器位置与所述第二故障数据的写入位置不匹配,确定所述中央处理器测试异常。
若内存储器位置与第二故障数据的写入位置不匹配,则可以确认中央处理器测试异常,中央处理器未具有较好的业务处理能力,需要对计算机系统进行调整,对中央处理器进行改进,确保计算机系统具有较好的稳定性。
通过本发明实施例的计算机系统故障的测试方法,基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据,以使所述中央处理器循环触发系统管理中断;随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;获取所述基板管理控制器生成的所述系统事件日志;对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。从而可以通过写入第一故障数据,触发中央处理器进入系统管理中断风暴,使得中央处理器处于故障状态。在此情况下,通过写入第二故障数据触发内存储器发生不可纠正错误,并在该情况下采集基于中央处理器中内部错误信息生成的系统事件日志,并基于系统事件日志对中央处理器自身异常的情况下对计算机系统中产生的内部错误是否可以正确识别进行测试,从而实现了针对中央处理器的性能进行更严格的测试,可以提高计算机系统整体的稳定性。
作为本发明的一种具体示例,参考图3,示出了本发明实施例中提供的一种计算机系统故障的测试方法的流程示意图。
所述计算机系统故障的测试方法的流程包括:
1、通过智能平台管理指令(IPMI),将模拟故障的第一故障数据写入特殊模块寄存器(MC Bank),使中央处理器循环触发系统管理中断(SMI),进入系统管理中断触发风暴。
作为本发明的一种示例,将第一故障数据写入特殊模块寄存器的指令可以如下所示:
ipmitool raw 0x3C 0x3D 0x00 0x00 0x00 0x03 0xEB 0x03 0x00 0xFF 0x090x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x84 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
2、通过快速数据路径(XDP)给内存储器中随机的某一存储位置注入第二故障数据。例如,存储位置可以为DIMM000。为了注入第二故障数据,可以获取该存储位置对应的存储地址,执行命令可以如下所示:
ei.injectMemError(socket=0,channel=0,sub_channel=0,dimm=0,rank=0,errT ype="ce")
3、在注入第二故障数据之前,可以为中央处理器中机器检查异常信息(MCE)设置断点,执行命令可以如下所示:
halt()
itp.cv.machinecheckbreak=1
4、基于所述存储地址,向所述存储位置注入第二故障数据,执行命令可以如下所示:
ei.injectMemError(存储地址,errType=’uce’)
其中的存储地址为步骤2获取到的地址
5、检查扩展显示寄存器(MCA_ERR_SRC_LOG),确认是否成功写入第二故障数据,执行命令可以如下所示:
sv.sockets.uncore.punit.mca_err_src_log.show()
6、执行用于循环步骤4~6的go()命令,重复执行步骤4~6,直到触发中央处理器生成内部错误(IERR),触发内部错误后,步骤5中的扩展显示寄存器中IERR的值会被赋值为1
7、获取所述基板管理控制器生成的所述系统事件日志,将收集到的日志进行解析,查看故障的存储位置解析是否为为第二故障数据的写入位置。例如,第二故障数据的写入位置为DIMM000,则查看故障的存储位置是否液位DIMM000。
8、在循环触发系统管理中断时可以不断重复执行步骤2~7,给内存储器的不同存储位置注入第二故障数据,检查中央处理器每次是否均可准确定位到发生故障的存储位置,直至达到预设次数。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明实施例中提供的一种计算机系统故障的测试装置的结构框图,具体可以包括如下模块:
第一写入模块401,用于在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
第二写入模块402,用于随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
日志获取模块403,用于获取所述基板管理控制器生成的所述系统事件日志;
解析模块404,用于对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
可选地,所述解析模块包括:
提取模块,用于提取所述系统事件日志中记载的发生故障的内存储器位置;
匹配模块,用于确定所述内存储器位置是否与所述第二故障数据的写入位置匹配;
第一解析子模块,用于若所述内存储器位置与所述第二故障数据的写入位置匹配,确定所述中央处理器测试正常;
第二解析子模块,用于若所述内存储器位置与所述第二故障数据的写入位置不匹配,确定所述中央处理器测试异常。
可选地,所述第一写入模块包括:
第一写入子模块,用于基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据。
可选地,所述装置还包括:
条件注入模块,用于在所述中央处理器中注入生成内部错误信息的生成条件,所述生成条件为内存储器发生不可纠正错误。
可选地,所述第二写入模块步骤,包括:
存储位置确定子模块,用于在至少一个所述内存储器中随机确定待写入故障数据的存储位置;
地址获取子模块,用于获取所述存储位置对应的存储地址;
第二写入子模块,用于基于所述存储地址,向所述存储位置写入第二故障数据。
可选地,所述第二写入模块包括:
命令执行子模块,用于针对所述存储地址,执行错误注入命令;所述错误注入命令用于尝试向所述存储地址对应的存储位置写入第二故障数据;
错误检测模块,用于检测所述中央处理器中的扩展显示寄存器是否产生错误信息;
注入成功判断子模块,用于若所述扩展显示寄存器产生错误信息,确定所述第二故障数据注入成功。
可选地,所述第二写入模块还包括:
重复注入子模块,用于若所述扩展显示寄存器未产生错误信息,重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
获取所述基板管理控制器生成的所述系统事件日志;
对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
可选地,所述对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果的步骤,包括:
提取所述系统事件日志中记载的发生故障的内存储器位置;
确定所述内存储器位置是否与所述第二故障数据的写入位置匹配;
若所述内存储器位置与所述第二故障数据的写入位置匹配,确定所述中央处理器测试正常;
若所述内存储器位置与所述第二故障数据的写入位置不匹配,确定所述中央处理器测试异常。
可选地,所述在计算机系统中写入第一故障数据的步骤,包括:
基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据。
可选地,所述方法还包括:
在所述中央处理器中注入生成内部错误信息的生成条件,所述生成条件为内存储器发生不可纠正错误。
可选地,所述随机向至少一个所述内存储器写入第二故障数据的步骤,包括:
在至少一个所述内存储器中随机确定待写入故障数据的存储位置;
获取所述存储位置对应的存储地址;
基于所述存储地址,向所述存储位置写入第二故障数据。
可选地,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,包括:
针对所述存储地址,执行错误注入命令;所述错误注入命令用于尝试向所述存储地址对应的存储位置写入第二故障数据;
检测所述中央处理器中的扩展显示寄存器是否产生错误信息;
若所述扩展显示寄存器产生错误信息,确定所述第二故障数据注入成功。
可选地,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,还包括:
若所述扩展显示寄存器未产生错误信息,重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图6所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质601,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的计算机系统故障的测试方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的计算机系统故障的测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种计算机系统故障的测试方法,其特征在于,其应用于计算机系统,所述计算机系统中部署有基板管理控制器、中央处理器、以及至少一个内存储器,所述方法包括:
在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
获取所述基板管理控制器生成的所述系统事件日志;
对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果的步骤,包括:
提取所述系统事件日志中记载的发生故障的内存储器位置;
确定所述内存储器位置是否与所述第二故障数据的写入位置匹配;
若所述内存储器位置与所述第二故障数据的写入位置匹配,确定所述中央处理器测试正常;
若所述内存储器位置与所述第二故障数据的写入位置不匹配,确定所述中央处理器测试异常。
3.根据权利要求1所述的方法,其特征在于,所述在计算机系统中写入第一故障数据的步骤,包括:
基于智能平台管理指令,向所述中央处理器中的特殊模块寄存器写入第一故障数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述中央处理器中注入生成内部错误信息的生成条件,所述生成条件为内存储器发生不可纠正错误。
5.根据权利要求1所述的方法,其特征在于,所述随机向至少一个所述内存储器写入第二故障数据的步骤,包括:
在至少一个所述内存储器中随机确定待写入故障数据的存储位置;
获取所述存储位置对应的存储地址;
基于所述存储地址,向所述存储位置写入第二故障数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,包括:
针对所述存储地址,执行错误注入命令;所述错误注入命令用于尝试向所述存储地址对应的存储位置写入第二故障数据;
检测所述中央处理器中的扩展显示寄存器是否产生错误信息;
若所述扩展显示寄存器产生错误信息,确定所述第二故障数据注入成功。
7.根据权利要求6所述的方法,其特征在于,所述基于所述存储地址,向所述存储位置写入第二故障数据的步骤,还包括:
若所述扩展显示寄存器未产生错误信息,重复针对所述存储地址,执行所述错误注入命令,直至所述第二故障数据注入成功。
8.一种计算机系统故障的测试装置,其特征在于,其应用于计算机系统,所述计算机系统中部署有基板管理控制器、中央处理器、以及至少一个内存储器,所述装置包括:
第一写入模块,用于在计算机系统中写入第一故障数据,以使所述中央处理器循环触发系统管理中断;
第二写入模块,用于随机向至少一个所述内存储器写入第二故障数据,以使所述内存储器发生不可纠正错误,所述中央处理器在循环触发系统管理中断的过程中针对所述内存储器的不可纠正错误生成内部错误信息;所述基板管理控制器基于所述内部错误信息,生成系统事件日志;
日志获取模块,用于获取所述基板管理控制器生成的所述系统事件日志;
解析模块,用于对所述系统事件日志进行解析,生成针对所述中央处理器的测试结果。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-7任一项所述的方法。
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215600.0A CN115562918A (zh) | 2022-09-30 | 2022-09-30 | 计算机系统故障的测试方法、装置、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215600.0A CN115562918A (zh) | 2022-09-30 | 2022-09-30 | 计算机系统故障的测试方法、装置、电子设备及可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115562918A true CN115562918A (zh) | 2023-01-03 |
Family
ID=84745070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215600.0A Pending CN115562918A (zh) | 2022-09-30 | 2022-09-30 | 计算机系统故障的测试方法、装置、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562918A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225812A (zh) * | 2023-05-08 | 2023-06-06 | 山东云海国创云计算装备产业创新中心有限公司 | 基板管理控制器系统运行方法、装置、设备及存储介质 |
-
2022
- 2022-09-30 CN CN202211215600.0A patent/CN115562918A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225812A (zh) * | 2023-05-08 | 2023-06-06 | 山东云海国创云计算装备产业创新中心有限公司 | 基板管理控制器系统运行方法、装置、设备及存储介质 |
CN116225812B (zh) * | 2023-05-08 | 2023-08-04 | 山东云海国创云计算装备产业创新中心有限公司 | 基板管理控制器系统运行方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992992A (zh) | 一种硬盘测试方法、设备以及存储介质 | |
CN104320308B (zh) | 一种服务器异常检测的方法及装置 | |
US20220129338A1 (en) | Chip Fault Diagnosis Method, Chip Fault Diagnosis Device, Computer-Readable Storage Medium and Electronic Equipment | |
CN111104319A (zh) | 一种代码覆盖率测试方法、装置、电子设备及存储介质 | |
CN110879781A (zh) | 程序调试方法、装置、电子设备及计算机可读存储介质 | |
CN115562918A (zh) | 计算机系统故障的测试方法、装置、电子设备及可读介质 | |
CN114817015A (zh) | 测试用例的覆盖率统计方法、装置、电子设备及存储介质 | |
CN116049249A (zh) | 报错信息处理方法、装置、系统、设备和存储介质 | |
CN115373997A (zh) | 一种多核SoC的板卡固件异常监测及核心数据导出方法 | |
CN115878430A (zh) | Pcie设备故障监控方法、装置、通信设备及存储介质 | |
US11163924B2 (en) | Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles | |
CN114860487A (zh) | 一种内存故障识别方法及一种内存故障隔离方法 | |
CN114020432A (zh) | 任务异常处理方法、装置及任务异常处理系统 | |
CN116382968B (zh) | 外部设备的故障检测方法以及装置 | |
CN107562565A (zh) | 一种验证内存Patrol Scurb功能的方法 | |
CN117373525A (zh) | Ecc功能测试方法、装置、电子设备及存储介质 | |
CN111488288A (zh) | 一种测试bmc acd稳定性的方法、装置、终端及存储介质 | |
CN107256192A (zh) | 一种时钟故障的监控方法、装置及服务器 | |
CN116401086A (zh) | 内存漏斗错误上报机制的测试方法、装置、设备及介质 | |
CN111125990A (zh) | 一种寄生参数结果正确性的判断方法 | |
CN115757099A (zh) | 平台固件保护恢复功能自动测试方法和装置 | |
CN113918422A (zh) | 应用启动异常的检测方法、介质、装置和计算设备 | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
CN113722229A (zh) | 软件测试方法、装置、电子设备和存储介质 | |
CN111865719A (zh) | 一种交换机故障注入自动化测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |