CN114138527A - 一种提高服务器性能的方法、装置及介质 - Google Patents

一种提高服务器性能的方法、装置及介质 Download PDF

Info

Publication number
CN114138527A
CN114138527A CN202111338663.0A CN202111338663A CN114138527A CN 114138527 A CN114138527 A CN 114138527A CN 202111338663 A CN202111338663 A CN 202111338663A CN 114138527 A CN114138527 A CN 114138527A
Authority
CN
China
Prior art keywords
information
memory register
memory
error information
repair
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
CN202111338663.0A
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202111338663.0A priority Critical patent/CN114138527A/zh
Publication of CN114138527A publication Critical patent/CN114138527A/zh
Pending legal-status Critical Current

Links

Images

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/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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0751Error or fault detection not based on redundancy
    • 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/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种提高服务器性能的方法、装置及介质,应用于服务器技术领域,该方法包括获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到,根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,则监控内存寄存器的运行状态,若异常工作,则提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。该方法通过BIOS固件对内存寄存器初始化得到状态信息并通过BIOS固件的软件机制及时监控获取错误信息解决只能插拔线程查询错误信息的问题,对错误信息进行纠正修复,减少与服务器其他设备相配合纠正内存错误信息,提高服务器的性能,提升用户体验效果。

Description

一种提高服务器性能的方法、装置及介质
技术领域
本发明涉及服务器技术领域,特别是涉及一种提高服务器性能的方法、装置及介质。
背景技术
随着服务器技术的发展,X86架构的服务器在市场占有量巨大,与此同时,国产服务器企业技术以其他架构如精简指令集处理器架构(Advanced reduced instruction setcomputer Machines,ARM)服务器技术突破,国产服务器厂商在全球服务器市场上占有率显著提升,以飞腾、龙芯等国产中央处理器(Central Processing Unit,CPU)平台为基础的国产服务器,在国产化过程中一系列的问题也随之产生,如缺少X86服务器的管理引擎(Management Engine,ME)管理平台等,也就要求国产服务器基本输入/输出系统(BasicInput Output System,BIOS)固件的性能向着精细化的方向发展并且承担更多任务和性能优化的要求来弥补国产服务器的缺陷。
BIOS固件为操作系统(operating system,OS)提供控制服务器硬件设备的基本功能,通常情况下,国产服务器不能向ME管理平台一样对内存运行时出现的异常情况及时监控并且具体出现在何种线程无可获知,只能插拔线程查询这样复杂操作检查具体出现的错误信息。另外,不论国产服务器还是其他服务器对于出现错误信息后也无法自动纠正修复,只能上报故障配合其他硬件设备管理维修,导致出现故障的进程中无法正常内存运行工作甚至会导致下次服务器无法正常开启,降低服务器的性能,影响用户的体验效果。
因此,如何提高服务器的性能是本领域技术人员亟需要解决的。
发明内容
本发明的目的是提供一种提高服务器性能的方法、装置及介质,提升用户体验效果。
为解决上述技术问题,本发明提供一种提高服务器性能的方法,该方法包括:
获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到;
根据状态信息与标准信息的关系判断内存寄存器是否正常工作;
若正常工作,则监控内存寄存器的运行状态;
若异常工作,则提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。
优选地,根据错误信息进行纠正修复包括内存寄存器启动时的启动修复过程和使用时的使用修复过程;
启动修复过程和使用修复过程均包括如下步骤:
将内存寄存器正常工作下的正确信息对应赋值给错误信息;
检测赋值后的内存寄存器是否正常工作;
若正常工作,则返回至监控内存寄存器的运行状态的步骤;
若异常工作,则记录修复次数并判断修复次数是否小于阈值;
如果小于,则返回至将内存寄存器正常工作下的正确信息对应赋值给错误信息的步骤;
如果不小于,则确定内存寄存器未完成修复。
优选地,在确定内存寄存器在使用修复过程中未完成修复之后,还包括:
放弃错误信息的修复以及播放提示更换内存寄存器对应的内存的信息。
优选地,在确定内存寄存器在使用修复过程中未完成修复之后,还包括:
记录内存寄存器对应的SN信息以便用户查看。
优选地,状态信息由BIOS固件对内存寄存器进行初始化得到包括:
状态信息由BIOS固件通过PCIE配置空间对内存寄存器配置并进行初始化得到。
优选地,状态信息还包括由OS得到。
优选地,在获取内存寄存器的状态信息之后,在提取状态信息中与标准信息不同的信息作为错误信息进行纠正修复之前,还包括:
屏蔽非异常错误信息,其中,非异常错误信息为内存寄存器处于正常工作时出现的错误信息。
为解决上述技术问题,本发明提供一种提高服务器性能的装置,包括:
获取模块,用于获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到;
判断模块,用于根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,进入监控模块,若异常工作,进入纠正修复模块;
监控模块,用于监控内存寄存器的运行状态;
纠正修复模块,用于提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。
为解决上述技术问题,本发明提供一种提高服务器性能的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述提高服务器性能的方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述提高服务器性能的方法的步骤。
本发明提供的一种提高服务器性能的方法,该方法包括获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到,根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,则监控内存寄存器的运行状态,若异常工作,则提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。该方法通过BIOS固件对内存寄存器初始化得到状态信息,状态信息与标准信息进行比较,若状态信息与标准信息全部相同,则内存寄存器正常工作,若状态信息与标准信息不同,则内存寄存器异常工作,提取与标准信息不同的信息作为错误信息纠正修复,通过BIOS固件的软件机制及时监控并获取错误信息解决只能插拔线程查询错误信息复杂操作的问题,获取错误信息之后进行纠正修复,减少与服务器其他设备相配合纠正内存错误信息,提高服务器的性能,提升用户体验效果。
另外,本发明还提供了一种提高服务器性能的装置及介质,具有如上述提高服务器性能的方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种提高服务器性能的方法的流程图;
图2为本发明实施例提供的一种控制钟表校准方法的流程图;
图3为本发明实施例提供的一种提升服务器性能的装置的结构图;
图4为本发明实施例提供的另一种提高服务器性能的装置的结构图;
图5为本发明实施例提供的另一种提高服务器性能的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种提高服务器性能的方法、提高服务器性能的装置及介质,提升用户体验效果。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
需要说明的是,市场上服务器的体系架构包括ARM、X86、无互锁流水线级架构的微处理器(Microprocessor without interlocked piped stages architecture,MIPS)、增强RISC的性能优化–性能计算处理器(Performance Optimization With Enhanced RISC–Performance Computing,PowerPC),服务器的CPU主要发展方向根据指令集架构划分为复杂指令集与精简指令集,其中各指令集最为代表性的CPU架构为X86和ARM,X86架构服务器基于PC机体系结构,使用英特尔(Intel)或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器,在软件方面具有完整的生态圈,对于内存在运行过程中具有ME管理平台,Intel芯片中一个独立于CPU和操作系统的微处理器。ME里面有用于远程管理的功能,在出现严重漏洞的时可以在不受用户操控下远程管理企业计算机。包括利用机器检查异常(Machine Check Exception,MCE)和更正机器检查错误中断(Corrected machine-checkerror interrupt,CMCI)向OS系统报告存在错误管理平台机制,外设部件互连标准传递(Peripheral Component Interconnect Express,PCIE)子系统有标准的高级错误报告(Advanced Error Reporting,AER)报告错误机制。相对于X86架构服务器,ARM服务器将CPU的利用率提升,实现芯片级的硬件定制,为服务器虚拟化提供了一个基于需求的扩容选择,带来低功耗,更高效的服务器解决方案,对于ARM服务器错误管理机制的缺失,其BIOS固件的性能可以弥补。但对于内存运行中出现的错误进行自动修复是X86服务器与ARM服务器都缺失的内容,因此本发明提供的一种提高服务器性能的方法均适用于X86服务器与ARM服务器。
图1为本发明实施例提供的一种提高服务器性能的方法的流程图,如图1所示,该方法包括:
S11:获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到。
可以理解的是,服务器其主要包括CPU、内存等,CPU读取内存运行的数据,由于内存的工作方式复杂,寄存器的工作方式简单,只要找到存储数据的相关标志位,然后读取相关标志位即可。而内存需要找到数据的指针,指针可能放在CPU的寄存器内,再将指针送往内存管理单元(Memory Management Unit,MMU),由CPU发出的虚拟内存地址转化为实际内存的物理地址,进而将物理地址送往内存控制器,由内存控制器找出该物理地址在内存中的内存插槽中,也就确定数据在具体的内存块上并从该块内存块中读取数据,读取完数据先送回内存控制器,进而放到寄存器中,CPU再从内存寄存器中读取数据进行处理,处理完后同样将数据通过内存寄存器存放到内存中。内存寄存器属于硬件层面,实际为存储空间,其存储速度相对于内存而言较快。
另外,状态信息为内存运行时的存入内存寄存器的各个状态信息,可以为指令、数据和地址,在获取内存寄存器的状态信息之前,需要明确在何种进程下执行线程利用函数算法进而获取,其函数算法不做具体要求,根据获取的目标进程进行限定。
对于获取内存寄存器的状态信息,CPU通过MMU将发出的虚拟地址转化为物理地址通过地址总线访问内存,内存通过数据总线将指令、数据以及地址反馈给CPU,以存于寄存器内的地址指向内存的具体位置进行寻址的方式进行获取。
状态信息由BIOS固件对内存寄存器进行初始化得到,其中固件为服务器设备内部保存的设备“驱动程序”,通过固件,OS才能按照标准的设备驱动实现特定机器的运行动作,也是担任系统最基础最底层工作的软件,在硬件设备中决定着硬件设备的功能及性能。
对于内存寄存器的初始化过程需要BIOS固件进行计算自检程序和系统自启动程序,是服务器启动后的第一道程式,由于不可篡改性,程序存储在只读存储器(Read-OnlyMemory,ROM)芯片中,并且在断电后,依然可以维持原有设置。其BIOS固件的主要功能是控制服务器启动后的基本程式,包括硬盘驱动、键盘设置、软盘驱动、内存和其他相关设备,本发明基于对内存的初始化过程获取状态信息,其提供的提高服务器性能的方法适用于BIOS固件对除内存之外的其他设备同样适用。
另外,在获取状态信息之前需要对服务器上电开机,进而电源向主板和其他设备供电,主板的控制芯片组会向CPU发出并保持重置(RESET)信号,让CPU内部自动恢复到初始状态,但是CPU此时不会马上执行指令,当芯片组监测到电源已经开始稳定供电,便撤去RESET信号,CPU马上就从地址FFFF0H处开始执行指令。其地址是BIOS的地址范围,存放的只是一条跳转指令,跳到系统BIOS中真正的启动代码处,启动代码首先进行加电后自检(Power-on self test,POST)主要检测系统中的关键设备能否正常工作,其初始化过程对不同内存寄存器以及显卡等其他硬件设备的检测。
需要说明的是,BIOS固件对内存寄存器进行的初始化得到状态信息并通过自身获取状态信息,其状态信息还可以通过OS得到,以此增加双通道的状态信息获取机制。
具体地,BIOS固件在服务器内由于不同服务器厂商定制的硬线连接方式以及型号不同,具体需要根据实际的服务器型号进行获取,本发明不做具体要求。常见的BIOS固件分为三种,有Award BIOS、AMI BIOS和Phoenix BIOS,其常用的BIOS固件选择前两种,对于AMIBIOS基于错误检查和纠正(Error Checking and Correction,ECC)的内存错误检查和纠正,其内存控制器支持单位单纠错/双检错纠错码,可提供两种错误类型信息,可纠正错误和不可纠正错误,本发明不做具体要求,根据实际情况进行选择BIOS固件的方式。
S12:根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,进入步骤S13,若异常工作,进入步骤S14。
由于BIOS固件通过基本硬件连接的线路获取的状态信息,BIOS固件在服务器内由于不同服务器厂商定制的CPU、BIOS固件以及内存之间的硬线连接方式以及型号不同导致的标准信息也不相同,其标准信息为服务器厂商根据各自生产服务器正常运行时得到的标准值。
获取状态信息后,根据状态信息与标准信息的关系来判断内存寄存器是否正常工作,状态信息与标准信息进行对比,若状态信息与标准信息全部相同,则说明内存寄存器能正常工作,若状态信息与标准信息不完全相同,则说明内存寄存器异常工作,需要说明的是,状态信息与标准信息的数量为多个,其考虑的状态信息和标准信息均针对内存寄存器的信息。
S13:监控内存寄存器的运行状态。
当状态信息与标准信息对比全部相同时,则说明内存寄存器正常工作,则此时继续监控其运行状态,其监控为每隔一段时间定时查询内存寄存器的运行状态。内存寄存器在服务器开启时进行初始化,初始化完成之后进行使用阶段,其监控内存寄存器的运行状态则一直监控全程的运行状态。
S14:提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。
当状态信息与标准信息对比不完全相同时,则说明内存寄存器异常工作,此时需要获取错误信息,其错误信息为状态信息与标准信息进行对比不同的信息,并对错误信息进行纠正修复。
需要说明的是,纠正修复可以是对错误信息进行赋值,也可以是对获取到的错误信息进行屏蔽,对于屏蔽错误信息是找到错误信息后立马自锁跳过进行下一个进程的对比,若屏蔽的错误信息对内存寄存器起到较为重要的作用,例如寻址寄存器对于错误信息的出现跳过,则寻址到内存的物理地址也会发生错误,导致读写数据异常,其影响服务器的工作。若屏蔽的错误信息跳过集中将错误信息的指令放入存储错误信息的数据库中,服务器与其他设备进行相配合修复,则延缓服务器其他进程,影响用户的体验效果,因此,纠正修复为对错误信息进行赋值仅作为一种优选地实施例。另外,对于纠正修复成功之后,则继续监控内存寄存器的运行状态。
可以理解的是,在纠正修复过程中对于修复次数以及故障等级需要记录并存储至数据库中方便用户或工作人员查看,其纠正修复过程包括内存寄存器启动时的启动修复过程和使用时的使用修复过程,如果错误信息出现在内存寄存器的启动修复过程未完成修复,则在使用修复过程中继续修复,如果错误信息出现在使用修复过程中,则只在使用修复过程进行修复。
本发明提供的一种提高服务器性能的方法,该方法包括获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到,根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,则监控内存寄存器的运行状态,若异常工作,则提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。该方法通过BIOS固件对内存寄存器初始化得到状态信息,状态信息与标准信息进行比较,若状态信息与标准信息全部相同,则内存寄存器正常工作,若状态信息与标准信息不同,则内存寄存器异常工作,提取与标准信息不同的信息作为错误信息纠正修复,通过BIOS固件的软件机制及时监控并获取错误信息解决只能插拔线程查询错误信息复杂操作的问题,获取错误信息之后进行纠正修复,减少与服务器其他设备相配合纠正内存错误信息,提高服务器的性能,提升用户体验效果。
在上述实施例的基础上,步骤S14中的提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复,其根据错误信息进行纠正修复包括内存寄存器启动时的启动修复过程和使用时的使用修复过程,其启动修复过程为内存寄存器初始化时的错误信息纠正修复,其使用修复过程为内存寄存器运行时的错误信息纠正修复,图2为本发明实施例提供的一种修复过程的流程图,如图2所示,启动修复过程和使用修复过程均包括如下步骤:
S21:将内存寄存器正常工作下的正确信息对应赋值给错误信息。
S22:检测赋值后的内存寄存器是否正常工作,若正常工作,则进入步骤S13,若异常工作,则进入步骤S23。
S23:记录修复次数并判断修复次数是否小于阈值,如果小于,则返回至步骤S21,如果不小于,则进入步骤S24。
S24:确定内存寄存器未完成修复。
需要说明的是,在提取错误信息之后,其纠正修复先进行启动修复过程,若启动修复过程中未完成修复后则进入使用修复过程进行错误信息修复,若启动修复过程成功后,则继续监控内存寄存器的状态,若在使用修复过程中出现错误信息则进行修复,无论是启动修复过程还是使用修复过程其步骤相同。
以启动修复过程进行详细说明,步骤S21中将内存寄存器正常工作下的正确信息对应赋值给该错误信息,其正确信息为该内存寄存器正常工作时的标准信息,例如,内存寄存器的5个标志位(1-5),在正常工作时标准信息的标志位为10110,在出现异常工作时,其状态信息的标志位为11110,状态信息与标准信息进行对比,第2个标志位出现异常,由0变为1,则第2个标志位出现错误信息,需要将正常工作下的正确信息即0赋值给第2个标志位的错误信息即1。
赋值后进入步骤S22中,检测赋值后的内存寄存器是否正常工作,若正常工作,则说明本次修复成功,则修复次数为1次,在此过程中记录故障等级以便工作人员查看并记录,其故障记录完成可以放入数据管理单元方便调取查询,其故障记录本次为提示等级。若异常工作,则进入步骤S23中的记录修复次数并判断修复次数是否小于阈值,异常工作则说明本次未完成修复,则需要记录修读次数为1次,故障记录本次为一般等级,并判断修复次数的1次是否小于阈值,若小于,继续修复即返回至步骤S21中继续作为第2次的赋值修复,若该次赋值后内存寄存器还处于异常工作,则记录修复次数为2次,其修复次数为累积的形式与阈值进行比较,当修复次数小于阈值时,则继续赋值修复其故障记录等级为一般等级,当修复次数等于阈值时内存寄存器还处于异常工作,则进入步骤S24中的确定内存寄存器未完成修复,即修复失败,其最后一次的故障记录等级为严重等级。
例如,设定阈值为14次,在每次的修复过程中记录故障等级为一般等级,第1次修复若成功,则故障记录等级由一般等级修改为提示等级,若第1次修复失败,则在第1次的修复故障记录等级为一般等级,第1次修复小于阈值14次,继续赋值做第2次的修复,修复失败,则故障记录等级为一般等级,以此递推,若在第8次修复则修复成功,则将8次的修复故障记录等级中由一般等级修改为提示等级,若达到第14次修复还未完成修复,则将第14次的修复故障记录等级为严重等级。
若在启动修复过程中的错误信息未完成修复,则需要在使用修复过程中继续修复,其与启动修复过程的步骤相同,在此不再赘述。可以理解的是,错误信息可以为多个,当出现多个错误信息时,纠正修复对于内存寄存器的标志位可以同时进行纠正赋值正确信息,也可以按照标志位顺序依次赋值修复,本发明不做具体要求。
另外,阈值可以根据实际内存寄存器的运行状态以及修复过程进行设定,本发明提供的启动修复过程与使用修复过程的阈值相同,也可以不同,结合上述的例子的阈值14次说明,当在启动修复过程中未修复完成,则在使用修复过程继续修复14次,一共修复28次还未修复成功,则确定内存寄存器的该错误信息未完成修复,虽延缓修复时间,但是多次修复更加确定该错误信息需要后续的与其他设备配合修复。当在服务器初始化时未发现错误,而是在内存寄存器使用时出现的错误信息,则需要在使用修复过程中修复,此时修复次数最多为14次,对于错误信息无论出现在何种修复过程更加公平负责,因此,本发明提供的启动修复过程与使用修复过程的阈值相同是一种优选地实施例。
本发明提供的内存寄存器启动时的启动修复过程和使用时的使用修复过程,及时监控内存寄存器的运行状态,发现错误立即获取定位,将正常工作时的正确信息赋值给错误信息,自动纠正修复,增加服务器BIOS错误修复机制,提高服务器的性能,提升用户的体验效果。
在上述实施例的基础上,当内存寄存器在使用修复过程中达到修复次数的阈值还未完成修复,则确定内存寄存器未完成修复,在未完成修复之后,还包括:
放弃错误信息的修复以及播放提示更换内存寄存器对应的内存的信息。
确定内存寄存器在使用修复过程中未完成修复,其修复的错误信息为一个时,则放弃错误信息的修复,继续监控内存寄存器的运行状态,当修复的错误信息为多个时,其中多个错误信息按照顺序依次进行修复,多个错误信息的某一个错误信息无法修复,则不影响其他错误信息的修复,放弃该错误信息的修复并记录故障等级,继续对下一个错误信息进行修复。
同时,放弃错误信息的修复时播放更换内存的提示信息以提示用户或者维修人员更换内存,其提示信息的方式可以为记录在故障等级的数据库中,也可以定时通过页面记录显示在显示屏上,也可以播放声音或者不同的灯亮提醒等,本发明不做具体要求。
本发明提供的放弃错误信息的修复以及播放提示更换内存寄存器对应的内存的信息。在确定内存寄存器通过BIOS固件无法完成自动纠正修复,则放弃错误信息的修复,需要与服务器其他设备相配合维修,同时播放更换内存提示信息以提醒用户或工作人员更换内存,方便用户或工作人员查看错误信息。
在上述实施例的基础上,当内存寄存器在使用修复过程中达到修复次数的阈值还未完成修复,则确定内存寄存器未完成修复,在未完成修复之后,还包括:
记录内存寄存器对应的系列号(Serial Number,SN)信息以便用户查看。
确定内存寄存器在使用修复过程中未完成修复,记录内存寄存器对应的SN信息,其SN信息为软件注册码信息,服务器出厂的序列号,若查询一台服务器的序列号,不需要工作人员跑到机房中,而是在相关系统中查看SN信息即可。其SN信息对内存寄存器的错误信息进行标记,包括故障等级的记录以及修复次数的记录,结合上述的阈值设置14次,当内存寄存器在初始化时获取到错误信息,并在启动修复过程与使用修复过程中纠正修复,其经过28次的纠正修复都未完成修复,其序列信息包括28次修复以及故障等级的记录等。
由于服务器启动时,BIOS固件不仅对内存寄存器进行初始化,还需要对其他硬件如显卡等初始化,在本次对内存寄存器初始化及运行时的错误信息未完成修复则记录序列信息,在下一次服务器启动时,BIOS固件优先对其他硬件进行初始化,不影响其他进程的初始化,同时将内存寄存器的初始化放到最后流出充裕时间纠正修复,出现该错误信息继续修复,未修复成功则记录SN信息。记录SN信息当达到一定程度后则需要用户或者工作人员进行更换内存。
本发明提供的记录内存寄存器对应的SN信息以便用户查看。每次服务器启动时则继续修复上一次启动时查出的错误信息,增加了修复次数,方便用户或工作人员查看,提升用户的体验效果。
在上述实施例中步骤S11中的状态信息由BIOS固件对内存寄存器进行初始化得到,其具体包括:
状态信息由BIOS固件通过PCIE配置空间对内存寄存器配置并进行初始化得到。
状态信息由BIOS固件通过PCIE配置空间,配置内存控制器,从内存寄存器中读取控制收集的寄存器的信息,实际上通过间接寻址的方式对不同的内存寄存器进行读写操作,其状态信息通过基本硬件连接的线路获取内存运行状态得到。
BIOS固件的软件设计的导入,在服务器上一般有单独插入内存的槽位,方便BIOS通过PCIE配置空间对内存寄存器进行配置的相关操作,也可以通过PCI设备的配置空间对内存寄存器进行配置,但是外设部件互连标准(Peripheral Component Interconnect,PCI)兼容配置访问机制只能访问到功能的配置空间中的PCI兼容配置寄存器区,而PCIE增强配置访问机制可以访问整个配置空间,本发明提供的通过PCIE配置空间对内存寄存器配置并进行初始化得到状态信息仅是一种优选地实施例。
本发明提供的状态信息由BIOS固件通过PCIE配置空间对内存寄存器配置并进行初始化得到,对内存寄存器的配置增强配置访问机制,扩大配置空间。
在上述实施例的基础上,状态信息由BIOS固件对内存寄存器进行初始化得到,其状态信息还包括由OS得到。
通过OS操作软件的获取得到状态信息,内存寄存器在OS系统下的集成信息,对于一些开源的OS系统这一功能实现较为困难,但是对于国产服务器的OS系统,由于是对开源OS系统的进一步定制开发,其状态信息通过获取OS集成的内存信息进行操作,需要说明的是,OS只能获取内存的基本信息,但是无法像BIOS通过PCIE的配置空间配置内存的相关设置。通过OS获取状态信息后,其对于后续出现的错误信息无法纠正修复,仅仅可以获取状态信息。
在通过OS得到状态信息之前,需要检测服务器的OS是否有条件得到,需要查看内存条是否支持以及硬件线路是否支持,当内存条和硬件线路都得到支持后,则OS可以得到状态信息。
本发明提供的状态信息还包括由OS得到,增加双通道的状态信息获取机制,加快获取速度,提升服务器性能。
在上述实施例的基础上,在步骤S11中的获取内存寄存器的状态信息之后,在步骤S14中的提取状态信息中与标准信息不同的信息作为错误信息进行纠正修复之前,还包括:
屏蔽非异常错误信息,其中,非异常错误信息为内存寄存器处于正常工作时出现的错误信息。
在获取内存寄存器的状态信息之后,根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若为异常工作,则提取状态信息与标准信息不同的信息作为错误信息进行纠正修复,在提取错误信息之前需要说明的是,本发明对于纠正修复的错误信息只针对内存寄存器在初始化以及使用时出现的错误信息。
非异常错误信息为内存寄存器处于正常工作时出现的错误信息。服务器的线路干扰,以及服务器散热时风扇产生的噪声干扰,电磁信息的干扰等出现的错误信息,其在内存寄存器处于正常工作时也会出现且无法避免,因此在提取内存寄存器异常工作情况下的错误信息时需要屏蔽非异常错误信息,其屏蔽的形式可以和本发明对纠正修复过程相同,将正确信息赋值给错误信息进行纠正修复,达到阈值时还未完成修复则放弃,也可以直接跳过,将该非异常错误信息标记记录,等待用户或工作人员处理,也可以自锁处理等,本发明提到的屏蔽非异常错误信息对其纠正修复将对应的正确信息赋值给非异常错误信息仅是一种优选地实施例。
本发明提供的屏蔽非异常错误信息,避免内存寄存器在服务器出现的不适应具体架构型号的服务器的异常和引起的误判为内存寄存器异常工作时出现的错误信息,提高服务器性能,提升用户体验效果。
上述详细描述了提升服务器性能的方法对应的各个实施例,在此基础上,本发明还公开与上述方法对应的提升服务器性能的装置,图3为本发明实施例提供的一种提升服务器性能的装置的结构图。如图3所示,提升服务器性能的装置包括:
获取模块11,用于获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到;
判断模块12,用于根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,进入监控模块13,若异常工作,进入纠正修复模块14;
监控模块13,用于监控内存寄存器的运行状态;
纠正修复模块14,用于提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。
由于装置部分的实施例与上述的实施例相互对应,因此装置部分的实施例请参照上述装置部分的实施例描述,在此不再赘述。
本发明提供的一种提高服务器性能的装置,该方法包括获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到,根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,则监控内存寄存器的运行状态,若异常工作,则提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。该装置通过BIOS固件对内存寄存器初始化得到状态信息,状态信息与标准信息进行比较,若状态信息与标准信息全部相同,则内存寄存器正常工作,若状态信息与标准信息不同,则内存寄存器异常工作,提取与标准信息不同的信息作为错误信息纠正修复,通过BIOS固件的软件机制及时监控并获取错误信息解决只能插拔线程查询错误信息复杂操作的问题,获取错误信息之后进行纠正修复,减少与服务器其他设备相配合纠正内存错误信息,提高服务器的性能,提升用户体验效果。
请参照图4为本发明实施例提供的另一种提高服务器性能的装置的结构图,如图4所示,该装置包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现提高服务器性能的方法的步骤。
本实施例提供的提高服务器性能的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或者台式电脑等。
其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器22可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器22还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序201,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任一实施例公开的提高服务器性能的方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于提高服务器性能的方法所涉及到的数据等等。
在一些实施例中,提高服务器性能的装置还可包括有显示屏23、输入输出接口24、通信接口25、电源26以及通信总线27。
领域技术人员可以理解,图4为本发明实施例提供的另一种提高服务器性能的装置的结构图。图4中示出的结构并不构成对提高服务器性能的装置的限定,可以包括比图示更多或更少的组件。
处理器22通过调用存储于存储器21中的指令以实现上述任一实施例所提供的提高服务器性能的方法。
本发明提供的一种提高服务器性能的装置,该方法包括获取内存寄存器的状态信息,其中,状态信息由BIOS固件对内存寄存器进行初始化得到,根据状态信息与标准信息的关系判断内存寄存器是否正常工作,若正常工作,则监控内存寄存器的运行状态,若异常工作,则提取状态信息中与标准信息不同的信息作为错误信息,并根据错误信息进行纠正修复。该装置通过BIOS固件对内存寄存器初始化得到状态信息,状态信息与标准信息进行比较,若状态信息与标准信息全部相同,则内存寄存器正常工作,若状态信息与标准信息不同,则内存寄存器异常工作,提取与标准信息不同的信息作为错误信息纠正修复,通过BIOS固件的软件机制及时监控并获取错误信息解决只能插拔线程查询错误信息复杂操作的问题,获取错误信息之后进行纠正修复,减少与服务器其他设备相配合纠正内存错误信息,提高服务器的性能,提升用户体验效果。
进一步的,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器22执行时实现如上述提高服务器性能的方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、随机存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述提高服务器性能的方法相同的有益效果。
综合上述的实施例,图5为本发明实施例提供的另一种提高服务器性能的方法的流程图,如图5所示,具体包括:
S31:服务器上电开机;
S32:获取内存寄存器的状态信息;
S33:根据状态信息与标准信息的关系判断内存寄存器是否正常工作;
若正常,则进入步骤S34,若异常,则进入步骤S35;
S34:持续轮询监控内存运行状态;
S35:获取错误信息并将内存寄存器正常工作下的正确信息对应赋值给错误信息进行纠正修复并记录故障等级;
S36:当修复次数达到阈值时判断内存寄存器是否可以修复,若是,则进入步骤S37,若否,则进入步骤S38;
S37:记录故障等级为提示等级;
S38:记录故障等级为严重等级,放弃纠正修复并提示更换内存信息以及记录SN信息以便查看。
需要说明的是,步骤S34中的持续轮询监控内存运行状态继续获取内存寄存器的状态信息,即返回至步骤S32。当步骤S36中的修复次数达到阈值后确定内存寄存器可以修复,则进入步骤S37中的记录故障等级为提示等级,继续监控内存运行状态,即返回至步骤S34。
上文通过对本发明实施例提供的另一种提高服务器性能的方法的流程图进行了介绍,具有与上述提到的提高服务器性能的方法具有相同的有益效果。
以上对本发明所提供的一种提高服务器性能的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种提高服务器性能的方法,其特征在于,包括:
获取内存寄存器的状态信息,其中,所述状态信息由BIOS固件对所述内存寄存器进行初始化得到;
根据所述状态信息与标准信息的关系判断所述内存寄存器是否正常工作;
若正常工作,则监控所述内存寄存器的运行状态;
若异常工作,则提取所述状态信息中与所述标准信息不同的信息作为错误信息,并根据所述错误信息进行纠正修复。
2.根据权利要求1所述的提高服务器性能的方法,其特征在于,所述根据所述错误信息进行纠正修复包括所述内存寄存器启动时的启动修复过程和使用时的使用修复过程;
所述启动修复过程和所述使用修复过程均包括如下步骤:
将所述内存寄存器正常工作下的正确信息对应赋值给所述错误信息;
检测赋值后的所述内存寄存器是否正常工作;
若正常工作,则返回至所述监控所述内存寄存器的运行状态的步骤;
若异常工作,则记录修复次数并判断所述修复次数是否小于阈值;
如果小于,则返回至所述将所述内存寄存器正常工作下的正确信息对应赋值给所述错误信息的步骤;
如果不小于,则确定所述内存寄存器未完成修复。
3.根据权利要求2所述的提高服务器性能的方法,其特征在于,在确定所述内存寄存器在所述使用修复过程中未完成修复之后,还包括:
放弃所述错误信息的修复以及播放提示更换所述内存寄存器对应的内存的信息。
4.根据权利要求2所述的提高服务器性能的方法,其特征在于,在确定所述内存寄存器在所述使用修复过程中未完成修复之后,还包括:
记录所述内存寄存器对应的SN信息以便用户查看。
5.根据权利要求1所述的提高服务器性能的方法,其特征在于,所述状态信息由BIOS固件对所述内存寄存器进行初始化得到包括:
所述状态信息由所述BIOS固件通过PCIE配置空间对所述内存寄存器配置并进行所述初始化得到。
6.根据权利要求1所述的提高服务器性能的方法,其特征在于,所述状态信息还包括由OS得到。
7.根据权利要求1所述的提高服务器性能的方法,其特征在于,在所述获取内存寄存器的状态信息之后,在所述提取所述状态信息中与所述标准信息不同的信息作为错误信息进行纠正修复之前,还包括:
屏蔽非异常错误信息,其中,所述非异常错误信息为所述内存寄存器处于正常工作时出现的错误信息。
8.一种提高服务器性能的装置,其特征在于,包括:
获取模块,用于获取内存寄存器的状态信息,其中,所述状态信息由BIOS固件对所述内存寄存器进行初始化得到;
判断模块,用于根据所述状态信息与标准信息的关系判断所述内存寄存器是否正常工作,若正常工作,进入监控模块,若异常工作,进入纠正修复模块;
监控模块,用于监控所述内存寄存器的运行状态;
纠正修复模块,用于提取所述状态信息中与所述标准信息不同的信息作为错误信息,并根据所述错误信息进行纠正修复。
9.一种提高服务器性能的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的提高服务器性能的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的提高服务器性能的方法的步骤。
CN202111338663.0A 2021-11-12 2021-11-12 一种提高服务器性能的方法、装置及介质 Pending CN114138527A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111338663.0A CN114138527A (zh) 2021-11-12 2021-11-12 一种提高服务器性能的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111338663.0A CN114138527A (zh) 2021-11-12 2021-11-12 一种提高服务器性能的方法、装置及介质

Publications (1)

Publication Number Publication Date
CN114138527A true CN114138527A (zh) 2022-03-04

Family

ID=80393910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111338663.0A Pending CN114138527A (zh) 2021-11-12 2021-11-12 一种提高服务器性能的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN114138527A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860343A (zh) * 2022-05-26 2022-08-05 苏州浪潮智能科技有限公司 加速卡速率调整方法、系统、终端及存储介质
CN116382968A (zh) * 2023-06-05 2023-07-04 苏州浪潮智能科技有限公司 外部设备的故障检测方法以及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860343A (zh) * 2022-05-26 2022-08-05 苏州浪潮智能科技有限公司 加速卡速率调整方法、系统、终端及存储介质
CN114860343B (zh) * 2022-05-26 2024-03-26 苏州浪潮智能科技有限公司 加速卡速率调整方法、系统、终端及存储介质
CN116382968A (zh) * 2023-06-05 2023-07-04 苏州浪潮智能科技有限公司 外部设备的故障检测方法以及装置
CN116382968B (zh) * 2023-06-05 2023-08-18 苏州浪潮智能科技有限公司 外部设备的故障检测方法以及装置

Similar Documents

Publication Publication Date Title
WO2022160756A1 (zh) 服务器故障定位方法、装置、系统及计算机可读存储介质
CN107122321B (zh) 硬件修复方法、硬件修复系统以及计算机可读取存储装置
CN107066362B (zh) 一种自动处理故障内存条的方法
US7730293B2 (en) Hard disk drive self-test system and method
US9946600B2 (en) Method of detecting power reset of a server, a baseboard management controller, and a server
CN105094927B (zh) 一种设备固件升级方法和装置
CN114138527A (zh) 一种提高服务器性能的方法、装置及介质
US8595552B2 (en) Reset method and monitoring apparatus
US9965288B2 (en) Preconfiguring hardware and speeding up server discovery prior to bios boot
US8935558B2 (en) Overclocking module, a computer system and a method for overclocking
CN107111595B (zh) 用于检测早期引导错误的方法、设备及系统
US9690602B2 (en) Techniques for programming and verifying backplane controller chip firmware
US6725396B2 (en) Identifying field replaceable units responsible for faults detected with processor timeouts utilizing IPL boot progress indicator status
US20060265581A1 (en) Method for switching booting devices of a computer
US20160103688A1 (en) Method of Starting Computing System
US9886335B2 (en) Techniques for validating functionality of backplane controller chips
CN102479124B (zh) 一种测试方法
CN113377586B (zh) 一种服务器自动化检测方法、装置及存储介质
TWI553490B (zh) 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體
CN113315675B (zh) 一种白盒交换机U-Boot自动化测试方法、系统和存储介质
CN104866397A (zh) 计算机系统与控制方法
US20060206764A1 (en) Memory reliability detection system and method
US20080276121A1 (en) Method and infrastructure for recognition of the resources of a defective hardware unit
US7200746B2 (en) Device and method for automatically detecting and announcing error on booting a motherboard
US20240176887A1 (en) Method for Running Startup Program of Electronic Device, and Electronic Device

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