CN116893928A - 故障内存的监管方法、系统、终端及存储介质 - Google Patents

故障内存的监管方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN116893928A
CN116893928A CN202310904686.6A CN202310904686A CN116893928A CN 116893928 A CN116893928 A CN 116893928A CN 202310904686 A CN202310904686 A CN 202310904686A CN 116893928 A CN116893928 A CN 116893928A
Authority
CN
China
Prior art keywords
memory
fault type
code
fault
scheme
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
Application number
CN202310904686.6A
Other languages
English (en)
Inventor
杨震
姚藩益
杨霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310904686.6A priority Critical patent/CN116893928A/zh
Publication of CN116893928A publication Critical patent/CN116893928A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1024Identification of the type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及服务器技术领域,具体提供一种故障内存的监管方法、系统、终端及存储介质,包括:从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。本发明根据服务器BMC的IDL报错日志中的错误码即可快速分析,能够极大提高生产质量、效率以及客户体验,具有重要价值和意义。

Description

故障内存的监管方法、系统、终端及存储介质
技术领域
本发明属于技术领域,具体涉及一种故障内存的监管方法、系统、终端及存储介质。
背景技术
内存(Memory)是服务器的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,服务器的程序需要在内存中进行,内存性能的强弱影响服务器整体发挥的水平。只要服务器开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。
在服务器安装、生产和使用过程中,经常会遇到内存禁用问题,即内存容量识别为0。内存禁用可能会导致机器性能降低、系统冻结或系统崩溃等问题,从而影响产品质量、生产效率和客户体验。导致内存禁用问题出现的原因有很多,总体分为5类。其一为接触问题,例如内存槽接触不良、内存氧化膜未刺破等;其二为部件问题,例如内存部件问题、主板问题导致内存Margin异常等;其三为安装问题,例如内存安装不到位等;其四为BIOS版本问题,例如BRC版本问题等;其五为内存插法问题,例如插入内存不满足基本规则或Intel POR规则等。
导致内存禁用问题出现的原因比较复杂,现有内存监控方法仅能监控到内存被禁用,但无法定位禁用的原因,也无法给出恢复内存功能的指导方案。
发明内容
针对现有技术的上述不足,本发明提供一种故障内存的监管方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种故障内存的监管方法,包括:
从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;
根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;
根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
在一个可选的实施方式中,从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,包括:
从BMC读取传感器日志;
利用关键词查询技术从传感器日志中收集内存报错信息;
从所述内存报错信息提取主要代码和次要代码;
利用字符串变量暂存错误位置和错误信息,所述错误信息包括主要代码和次要代码的具体参数值。
在一个可选的实施方式中,根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于实际的主要代码和次要代码诊断实际故障类型,包括:
预先设置非内存故障的外部故障类型对应的具体参数值;
将所述样本值与外部故障类型对应的具体参数值进行匹配;
若所述样本值与外部故障类型对应的具体参数值匹配,则将相应外部故障类型输出为实际故障类型;
若所述样本值与外部故障类型对应的具体参数值不匹配,则判定实际故障类型为内存故障。
在一个可选的实施方式中,预先设置非内存故障的外部故障类型对应的具体参数值,包括:
设置不符合内存分配规则事件对应的具体参数值为第一参数组合;
设置禁用内存信道事件对应的具体参数值为第二参数组合。
在一个可选的实施方式中,根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端,包括:
若实际故障类型为外部故障类型,则调取消除外部故障的第一方案;
若实际故障类型为内存故障,则生成交叉验证定位故障的第二方案;
将第一方案或第二方案推送至关联的处理终端,持续监控BMC日志中的内存报错信息,直至内存报错信息消失。
在一个可选的实施方式中,在执行第一方案或第二方案时,所述方法还包括:
重启服务器,设置BIOS在对内存初始化时对内存槽位上的内存生成状态标记,所述状态标记指示内存是否损坏;
获取内存状态标记,若状态标记指示内存未损坏,则通过从BMC日志获取内存报错信息持续监控内存状态;
若监控到内存报错信息,则记录内存报错信息所属的内存槽位对应的内存序列号,将所述内存序列号保存为初始内存序列号;
监控所述内存槽位的实际内存序列号与初始内存序列号是否一致,若两者一致,则将所述内存槽位的内存的状态标记与所述内存槽位的槽位号进行或运算,并将运算结果设置为所述内存槽位的内存的新状态标记;
基于内存的状态标记在DXE阶段创建UEFI事件,所述UEFI事件用于在BIOS运行到BIOS启动界面后提示内存损坏情况;
若存在损坏的内存,则初始化内存。
在一个可选的实施方式中,在初始化内存之后,所述方法还包括:
在BIOS引导操作系统启动之前,读取内存配置寄存器的配置值;
基于预存的标准配置格式判断所述配置值是否异常:
若是,则将内存错误信息以日志的形式发送至BMC。
第二方面,本发明提供一种故障内存的监管系统,包括:
信息获取模块,用于从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;
故障诊断模块,用于根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;
方案输出模块,用于根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
在一个可选的实施方式中,信息获取模块包括:
日志读取单元,用于从BMC读取传感器日志;
报错查询单元,用于利用关键词查询技术从传感器日志中收集内存报错信息;
代码解析单元,用于从所述内存报错信息提取主要代码和次要代码;
参数存储单元,用于利用字符串变量暂存错误位置和错误信息,所述错误信息包括主要代码和次要代码的具体参数值。
在一个可选的实施方式中,故障诊断模块包括:
关系设置单元,用于预先设置非内存故障的外部故障类型对应的具体参数值;
参数匹配单元,用于将所述样本值与外部故障类型对应的具体参数值进行匹配;
第一诊断单元,用于若所述样本值与外部故障类型对应的具体参数值匹配,则将相应外部故障类型输出为实际故障类型;
第二诊断单元,用于若所述样本值与外部故障类型对应的具体参数值不匹配,则判定实际故障类型为内存故障。
在一个可选的实施方式中,关系设置单元包括:
第一设置子单元,用于设置不符合内存分配规则事件对应的具体参数值为第一参数组合;
第二设置子单元,用于设置禁用内存信道事件对应的具体参数值为第二参数组合。
在一个可选的实施方式中,方案输出模块包括:
第一生成单元,用于若实际故障类型为外部故障类型,则调取消除外部故障的第一方案;
第二生成单元,用于若实际故障类型为内存故障,则生成交叉验证定位故障的第二方案;
方案推送单元,用于将第一方案或第二方案推送至关联的处理终端,持续监控BMC日志中的内存报错信息,直至内存报错信息消失。
在一个可选的实施方式中,所述系统还执行:
重启服务器,设置BIOS在对内存初始化时对内存槽位上的内存生成状态标记,所述状态标记指示内存是否损坏;
获取内存状态标记,若状态标记指示内存未损坏,则通过从BMC日志获取内存报错信息持续监控内存状态;
若监控到内存报错信息,则记录内存报错信息所属的内存槽位对应的内存序列号,将所述内存序列号保存为初始内存序列号;
监控所述内存槽位的实际内存序列号与初始内存序列号是否一致,若两者一致,则将所述内存槽位的内存的状态标记与所述内存槽位的槽位号进行或运算,并将运算结果设置为所述内存槽位的内存的新状态标记;
基于内存的状态标记在DXE阶段创建UEFI事件,所述UEFI事件用于在BIOS运行到BIOS启动界面后提示内存损坏情况;
若存在损坏的内存,则初始化内存。
在一个可选的实施方式中,所述系统还执行:
在BIOS引导操作系统启动之前,读取内存配置寄存器的配置值;
基于预存的标准配置格式判断所述配置值是否异常:
若是,则将内存错误信息以日志的形式发送至BMC。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的故障内存的监管方法、系统、终端及存储介质,通过从BMC日志获取内存报错信息,并从内存报错信息解析主要代码和次要代码,将主要代码和次要代码记为样本值;然后根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;在得到实际故障类型之后,根据预设的故障类型的处理方案,为实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。由此本发明根据服务器BMC的IDL报错日志中的错误码即可快速分析,能够极大提高生产质量、效率以及客户体验,具有重要价值和意义。
本发明通过从BMC读取传感器日志,利用关键词查询技术从传感器日志中收集内存报错信息,进而从内存报错信息提取主要代码和次要代码,实现了比对目标的快速获取。然后利用字符串变量暂存错误位置和错误信息,错误信息包括主要代码和次要代码的具体参数值,以这种方式存储比对目标,便于后续比对参数值时的比对目标的快速取用。
本发明通过对BIOS进行设置,使其对损坏的内存进行标记,可以在操作系统启用后直接提示用户内存状态,同时对损坏内存禁用,避免了损坏内存导致的系统不稳定性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的另一示意性流程图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
BMC,执行伺服器远端管理控制器,英文全称为Baseboard ManagementController.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。在BMC中完全实现IPMI功能需要一个功能强大的16位元或32位元微控制器以及用于数据储存的RAM、用于非挥发性数据储存的快闪记忆体和韧体,在安全远程重启、安全重新上电、LAN警告和系统健康监视方面能提供基本的远程可管理性。除了基本的IPMI功能和系统工作监视功能外,通过利用2个快闪记忆体之一储存以前的BIOS,mBMC还能实现BIOS快速元件的选择和保护。例如,在远程BIOS升级後系统不能启动时,远程管理人员可以切换回以前工作的BIOS映像来启动系统。一旦BIOS升级後,BIOS映像还能被锁住,可有效防止病毒对它的侵害。
BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBMPC兼容系统上,是一种业界标准的固件接口。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
CPU中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行模块。
本发明实施例提供的故障内存的监管方法由计算机设备执行,相应地,故障内存的监管系统运行于计算机设备中。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种故障内存的监管系统。根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括:
步骤110,从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;
步骤120,根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;
步骤130,根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
为了便于对本发明的理解,下面以本发明故障内存的监管方法的原理,结合实施例中对故障内存进行监管的过程,对本发明提供的故障内存的监管方法做进一步的描述。
具体的,请参考图2,所述故障内存的监管方法包括:
S1、对损坏的内存进行报错和禁用。
重启服务器,设置BIOS在对内存初始化时对内存槽位上的内存生成状态标记,所述状态标记指示内存是否损坏;获取内存状态标记,若状态标记指示内存未损坏,则通过从BMC日志获取内存报错信息持续监控内存状态;若监控到内存报错信息,则记录内存报错信息所属的内存槽位对应的内存序列号,将所述内存序列号保存为初始内存序列号;监控所述内存槽位的实际内存序列号与初始内存序列号是否一致,若两者一致,则将所述内存槽位的内存的状态标记与所述内存槽位的槽位号进行或运算,并将运算结果设置为所述内存槽位的内存的新状态标记;基于内存的状态标记在DXE阶段创建UEFI事件,所述UEFI事件用于在BIOS运行到BIOS启动界面后提示内存损坏情况;若存在损坏的内存,则初始化内存。在BIOS引导操作系统启动之前,读取内存配置寄存器的配置值;基于预存的标准配置格式判断所述配置值是否异常:若是,则将内存错误信息以日志的形式发送至BMC。
具体的,BIOS在对内存初始化时,对于损坏的内存标记1,对于为损坏的内存标记0。然后监控BMC日志中产生报错信息的内存槽位的内存序列号是否变更,若变更则说明内存条已经更换,若未更换,则将内存槽位的内存的状态标记与内存槽位的槽位号进行或运算,并将运算结果设置为内存槽位的内存的新状态标记,为存在标记1的内存槽位在DXE阶段创建UEFI事件,以便在BIOS运行到BIOS启动界面后提示内存损坏情况。对于BMC日志中产生报错信息的内存槽位的内存序列号变更的内存槽位,直接初始化内存。在初始化内存之后,BIOS在即将进入操作系统时,对内存寄存器中的配置值进行异常判断,对于异常值的异常内存,向BMC日志写入内存报错信息。
S2、从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值。
从BMC读取传感器日志;利用关键词查询技术从传感器日志中收集内存报错信息;从所述内存报错信息提取主要代码和次要代码;利用字符串变量暂存错误位置和错误信息,所述错误信息包括主要代码和次要代码的具体参数值。
具体的,登录服务器BMC WEB,收集BMC IDL日志。运行脚本,打开并读取IDL日志。自动搜索Major Code(主要代码)和Minor Code(次要代码)信息,读取并利用字符串变量暂存报错内存位置及错误信息Char Memory Index[10]=CPUxCyDz、Char MajorCode[10]、Char MinorCode[10]。
S3、根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型。
预先设置非内存故障的外部故障类型对应的具体参数值,设置不符合内存分配规则事件对应的具体参数值为第一参数组合;设置禁用内存信道事件对应的具体参数值为第二参数组合。将所述样本值与外部故障类型对应的具体参数值进行匹配;若所述样本值与外部故障类型对应的具体参数值匹配,则将相应外部故障类型输出为实际故障类型;若所述样本值与外部故障类型对应的具体参数值不匹配,则判定实际故障类型为内存故障。
具体的,判断报错是否均为Major Code=0x0A、Minor Code=0x04,若判断结果为“否”,即存在多种内存报错,首先排除仅存在Major Code=0x0A、Minor Code=0x04报错的内存,因为这是不符合POR规则被禁用的内存,非故障内存。排除有且仅有Major Code=0x0A、Minor Code=0x04报错的内存,因为这是禁用内存Channel导致的内存禁用,非故障内存。其他种类Major Code、Minor Code报错的内存即为故障内存,进行交叉验证定位故障。
例如,S301:判断报错是否均为Major Code=0x0A、Minor Code=0x04;
S302:若S301判断结果为“Y”
Print:问题原因:内存插法不符合POR的内存禁用请执行操作:请按照POR规则重新安装。
S303:若S301判断结果为“N”;
Print:请执行操作:检查故障内存金手指和所在槽位是否异常,并与同CPU下其他Channel正常的内存交叉验证。请判断:问题是否复现及是否跟内存走。请输入:不复现/跟内存走/不跟内存走。
S304:若S303输入:不复现,则
Print:问题原因:MemoryIndex内存安装不到位或内存槽接触问题,即信道被禁用。
S4、根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
若实际故障类型为外部故障类型,则调取消除外部故障的第一方案;若实际故障类型为内存故障,则生成交叉验证定位故障的第二方案;将第一方案或第二方案推送至关联的处理终端,持续监控BMC日志中的内存报错信息,直至内存报错信息消失。
其中,第一方案例如:不符合内存分配规则事件对应的处理方案包括按照内存分配规则重新安装,符合内存分配规则的标准安装方法。禁用内存信道事件对应的处理方案包括重新安装内存,重启服务器。
第二方案包括:检查故障内存的金手指部位和所在槽位是否有异常,并与同CPU下其他Channel正常的内存交换位置。若问题不复现,则为内存安装不到位或内存槽位接触问题(Result1);若问题跟着内存走,则为故障内存,请更换内存(Reslut2);若不跟内存走,则检查禁用内存所在的CPU的针脚、接触点和安装情况是否有异常,并交换CPU验证。若问题不复现,则为CPU安装问题(Result3);若问题跟着CPU走,则为CPU故障,请更换CPU(Result4);若问题仍固定槽位复现,可能为主板故障,建议考虑更换主板(Reslut5)。
在一些实施例中,所述故障内存的监管系统300可以包括多个由计算机程序段所组成的功能模块。所述故障内存的监管系统300中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)故障内存的监管的功能。
本实施例中,所述故障内存的监管系统300根据其所执行的功能,可以被划分为多个功能模块,如图3所示。所述功能模块可以包括:信息获取模块310、故障诊断模块320、方案输出模块330。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
信息获取模块,用于从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;
故障诊断模块,用于根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;
方案输出模块,用于根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
可选地,作为本发明一个实施例,信息获取模块包括:
日志读取单元,用于从BMC读取传感器日志;
报错查询单元,用于利用关键词查询技术从传感器日志中收集内存报错信息;
代码解析单元,用于从所述内存报错信息提取主要代码和次要代码;
参数存储单元,用于利用字符串变量暂存错误位置和错误信息,所述错误信息包括主要代码和次要代码的具体参数值。
可选地,作为本发明一个实施例,故障诊断模块包括:
关系设置单元,用于预先设置非内存故障的外部故障类型对应的具体参数值;
参数匹配单元,用于将所述样本值与外部故障类型对应的具体参数值进行匹配;
第一诊断单元,用于若所述样本值与外部故障类型对应的具体参数值匹配,则将相应外部故障类型输出为实际故障类型;
第二诊断单元,用于若所述样本值与外部故障类型对应的具体参数值不匹配,则判定实际故障类型为内存故障。
可选地,作为本发明一个实施例,关系设置单元包括:
第一设置子单元,用于设置不符合内存分配规则事件对应的具体参数值为第一参数组合;
第二设置子单元,用于设置禁用内存信道事件对应的具体参数值为第二参数组合。
可选地,作为本发明一个实施例,方案输出模块包括:
第一生成单元,用于若实际故障类型为外部故障类型,则调取消除外部故障的第一方案;
第二生成单元,用于若实际故障类型为内存故障,则生成交叉验证定位故障的第二方案;
方案推送单元,用于将第一方案或第二方案推送至关联的处理终端,持续监控BMC日志中的内存报错信息,直至内存报错信息消失。
可选地,作为本发明一个实施例,所述系统还执行:
重启服务器,设置BIOS在对内存初始化时对内存槽位上的内存生成状态标记,所述状态标记指示内存是否损坏;
获取内存状态标记,若状态标记指示内存未损坏,则通过从BMC日志获取内存报错信息持续监控内存状态;
若监控到内存报错信息,则记录内存报错信息所属的内存槽位对应的内存序列号,将所述内存序列号保存为初始内存序列号;
监控所述内存槽位的实际内存序列号与初始内存序列号是否一致,若两者一致,则将所述内存槽位的内存的状态标记与所述内存槽位的槽位号进行或运算,并将运算结果设置为所述内存槽位的内存的新状态标记;
基于内存的状态标记在DXE阶段创建UEFI事件,所述UEFI事件用于在BIOS运行到BIOS启动界面后提示内存损坏情况;
若存在损坏的内存,则初始化内存。
可选地,作为本发明一个实施例,所述系统还执行:
在BIOS引导操作系统启动之前,读取内存配置寄存器的配置值;
基于预存的标准配置格式判断所述配置值是否异常:
若是,则将内存错误信息以日志的形式发送至BMC。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的故障内存的监管方法。
其中,该终端400可以包括:处理器410、存储器420及通信模块430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信模块430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过从BMC日志获取内存报错信息,并从内存报错信息解析主要代码和次要代码,将主要代码和次要代码记为样本值;然后根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;在得到实际故障类型之后,根据预设的故障类型的处理方案,为实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。由此本发明根据服务器BMC的IDL报错日志中的错误码即可快速分析,能够极大提高生产质量、效率以及客户体验,具有重要价值和意义,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种故障内存的监管方法,其特征在于,包括:
从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;
根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;
根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
2.根据权利要求1所述的方法,其特征在于,从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,包括:
从BMC读取传感器日志;
利用关键词查询技术从传感器日志中收集内存报错信息;
从所述内存报错信息提取主要代码和次要代码;
利用字符串变量暂存错误位置和错误信息,所述错误信息包括主要代码和次要代码的具体参数值。
3.根据权利要求1所述的方法,其特征在于,根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于实际的主要代码和次要代码诊断实际故障类型,包括:
预先设置非内存故障的外部故障类型对应的具体参数值;
将所述样本值与外部故障类型对应的具体参数值进行匹配;
若所述样本值与外部故障类型对应的具体参数值匹配,则将相应外部故障类型输出为实际故障类型;
若所述样本值与外部故障类型对应的具体参数值不匹配,则判定实际故障类型为内存故障。
4.根据权利要求3所述的方法,其特征在于,预先设置非内存故障的外部故障类型对应的具体参数值,包括:
设置不符合内存分配规则事件对应的具体参数值为第一参数组合;
设置禁用内存信道事件对应的具体参数值为第二参数组合。
5.根据权利要求3所述的方法,其特征在于,根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端,包括:
若实际故障类型为外部故障类型,则调取消除外部故障的第一方案;
若实际故障类型为内存故障,则生成交叉验证定位故障的第二方案;
将第一方案或第二方案推送至关联的处理终端,持续监控BMC日志中的内存报错信息,直至内存报错信息消失。
6.根据权利要求5所述的方法,其特征在于,在执行第一方案或第二方案时,所述方法还包括:
重启服务器,设置BIOS在对内存初始化时对内存槽位上的内存生成状态标记,所述状态标记指示内存是否损坏;
获取内存状态标记,若状态标记指示内存未损坏,则通过从BMC日志获取内存报错信息持续监控内存状态;
若监控到内存报错信息,则记录内存报错信息所属的内存槽位对应的内存序列号,将所述内存序列号保存为初始内存序列号;
监控所述内存槽位的实际内存序列号与初始内存序列号是否一致,若两者一致,则将所述内存槽位的内存的状态标记与所述内存槽位的槽位号进行或运算,并将运算结果设置为所述内存槽位的内存的新状态标记;
基于内存的状态标记在DXE阶段创建UEFI事件,所述UEFI事件用于在BIOS运行到BIOS启动界面后提示内存损坏情况;
若存在损坏的内存,则初始化内存。
7.根据权利要求6所述的方法,其特征在于,在初始化内存之后,所述方法还包括:
在BIOS引导操作系统启动之前,读取内存配置寄存器的配置值;
基于预存的标准配置格式判断所述配置值是否异常:
若是,则将内存错误信息以日志的形式发送至BMC。
8.一种故障内存的监管系统,其特征在于,包括:
信息获取模块,用于从BMC日志获取内存报错信息,并从所述内存报错信息解析主要代码和次要代码,将所述主要代码和次要代码记为样本值;
故障诊断模块,用于根据预设的故障类型与主要代码和次要代码的具体参数值的对应关系,采用排除法的方式,基于样本值诊断实际故障类型;
方案输出模块,用于根据预设的故障类型的处理方案,为所述实际故障类型匹配对应的处理方案,并将对应的处理方案发送至处理终端。
9.一种终端,其特征在于,包括:
存储器,用于存储故障内存的监管程序;
处理器,用于执行所述故障内存的监管程序时实现如权利要求1-7任一项所述故障内存的监管方法的步骤。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述可读存储介质上存储有故障内存的监管程序,所述故障内存的监管程序被处理器执行时实现如权利要求1-7任一项所述故障内存的监管方法的步骤。
CN202310904686.6A 2023-07-21 2023-07-21 故障内存的监管方法、系统、终端及存储介质 Pending CN116893928A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310904686.6A CN116893928A (zh) 2023-07-21 2023-07-21 故障内存的监管方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310904686.6A CN116893928A (zh) 2023-07-21 2023-07-21 故障内存的监管方法、系统、终端及存储介质

Publications (1)

Publication Number Publication Date
CN116893928A true CN116893928A (zh) 2023-10-17

Family

ID=88314725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310904686.6A Pending CN116893928A (zh) 2023-07-21 2023-07-21 故障内存的监管方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN116893928A (zh)

Similar Documents

Publication Publication Date Title
CN110928743B (zh) 一种计算系统、自动诊断方法及存储有其指令的介质
CN110750396B (zh) 一种服务器操作系统兼容性测试方法、装置及存储介质
CN104850485A (zh) 一种基于bmc远程诊断服务器开机故障的方法及系统
US20200250313A1 (en) Bios recovery and update
CN112579400B (zh) 一种设备故障定位方法、装置、设备及存储介质
CN112231130B (zh) 一种根据日志定位故障的方法、系统、设备及介质
CN113672456A (zh) 应用平台的模块化自监听方法、系统、终端及存储介质
US10938623B2 (en) Computing element failure identification mechanism
CN116662050A (zh) 一种错误注入支持功能验证方法、装置、终端及介质
CN114003416B (zh) 内存错误动态处理方法、系统、终端及存储介质
CN116302738A (zh) 一种测试芯片的方法、系统、设备和存储介质
CN116893928A (zh) 故障内存的监管方法、系统、终端及存储介质
CN115827298A (zh) 一种服务器开机故障定位方法、装置、终端及存储介质
CN112463504B (zh) 一种双控存储产品测试方法、系统、终端及存储介质
CN112486785B (zh) 一种服务器定位宕机阶段的方法、系统、终端及存储介质
CN113900914A (zh) 异常处理方法、装置、电子设备及计算机存储介质
CN116382968B (zh) 外部设备的故障检测方法以及装置
CN114253846B (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
CN113886165B (zh) 一种固件诊断功能的验证方法、装置、设备及可读介质
CN113900934B (zh) 多镜像混合刷新测试方法、系统、终端及存储介质
CN114138536A (zh) 服务器故障定位方法、系统、终端及存储介质
CN116932010B (zh) 系统固件升级方法、装置及服务器
CN114253846A (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
CN115292111A (zh) 一种可靠性重启测试方法、系统、设备及存储介质
CN115114097A (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