一种linux系统下的故障内存位置定位方法

文档序号:6401385阅读:3291来源:国知局
专利名称:一种linux系统下的故障内存位置定位方法
技术领域
本发明涉及计算机应用领域,具体地说是一种Iinux系统下的故障内存位置定位方法。
背景技术
对于故障内存位置的判断,之前有两种通用方法: 1)利用主板集成bmc的内存故障定位和记录功能,在内存发生可纠正ecc错误或不可纠正ecc错误时,主板bmc可以记录内存错误信息,并记录故障发生内存槽位,从而快速定位故障内存位置,但这种方法的使用有一定局限性,首先,必须保证服务器存在bmc的管理芯片,然而bmc管理是近几年才开始使用的技术,早期一般机型并无bmc管理芯片;再者,即使机器自带bmc芯片,其不一定具备内存故障定位功能,需要独立开发,所以依旧未必能实现内存故障的定位和检测;bmc内存故障定位功能受管理芯片的存在与否和自身功能的限制,无法成为一个通用的解决方案; 2)内存压力测试:初步判断属于内存故障后,需要从十几条内存中定位哪条内存出现了故障,使用内存压力测试工具,对系统平台和内存进行分批测试,逐渐缩小范围,最终定位哪条内存故障,此方法的使用也存在一定局限:首先对于大容量内存的压力测试,故障复现时间不易掌握,很有可能压力测试一天未必复现故障,尤其对于客户I周左右出现一次故障的机器,复现问题比较困难;其二,使用分批测试的方法,整体测试时间偏长;其三,无法排除是否因为内存接触不良或cpu本身内存控制器问题从而不能做到精确定位; 以上两种通用的处理方法都存在各自致命的使用缺陷,本发明完全不依赖于bmc芯片及其功能,不用压力测试,使用系统运行中生成的mcelog记录,精确定位故障内存错误信息、报错频率及其在主板上的位置,快速定位和解决内存故障。发明内容
本发明的目的是提供一种Iinux系统下的故障内存位置定位方法。
本发明的目的是按以下方式实现的, 具体步骤如下: O故障平台安装Linux系统,平台及软件安装配置要求: mcelog支持平台要求; 32 bit x86 Linux =Redhat 6.0版本以上支持,需使用源码,编译安装; 64 bit x86_64 Linux:Redhat 5.0版本以上提供rpm包,默认不安装,需指定安装,从hardware monitoring选项卡中查找; 如果要随机器启动,请使用chkconfig命令; Chkconfig —add mcelogd Chkconfig —level 5 mcelogd on Service mcelogd restartMcelog相关文件 设备文件/dev/mcelog 日志文件 /var/log/mcelog 配置文件 /etc/mcelog/mcelog.conf 2)客户系统应用或使用内存压力测试工具; 3)MCA MCE MCELOG原理说明如下: 在计算机中,机器校验架构MCA是指在操作系统中CPU报告硬件错误的一种机制,是cpu的一个ras特性;当一个ECC错误产生的时,位于cpu中的特定模型寄存器MSRs会检测到有错误产生,将会触发MCA机制;而后产生一个系统中断,并将由特定模型寄存器MSRs记录下当时各种状态信息,交给操作系统处理,使用MCElog软件解析错误出现的方式,位置以及状态的信息; MCA的错误报告类型: 有简单错误和复杂错误两种错误类型,这些错误类型通过获取IA32_Mci_StatusMSR状态信息产生,并比对错误代码和具体信息对照表获得相应的错误信息: 寄存器信息和具体表现含义对照表: MCE: 机器校验异常MCE是一类由硬件错误触发的异常,是一种当计算机硬件错误时发生的由一台计算机的CPU检测的硬件问题,当CPU检测到总线,CHIPSET,内存,CACHE硬件出现致命错误时会触发这类异常,这些错误对系统的稳定性危害极大而且无法恢复,会触发系统的复位操作,MCA架构,OS根据不同的错误源产生的错误类别,错误的严重程度,选择隔离错误,记录错误,甚至屏蔽错误源或重启系统,所以,利用新的MCA架构记录MCE信息,生成mcelog进行故障分析:MCELOG: MCELOG是x86的Linux系统上用来检查硬件错误,特别是内存和CPU错误的工具,且产生日志位置Jvar/log/mcelog;日志中记录内存故障发生时间、频率、故障类型及故障内存位置。
本发明的有益效果是:不依赖于主板bmc对内存故障的判断和记录,利用系统产生的mcelog记录,配合实际物理槽位比对关系,快速判断故障内存错误类型和故障位置,快速解决由于内存故障导 致的服务器死机、蓝屏等问题,相比目前的内存故障判断判断方法具有: 1.不依赖于主板bmc对内存故障跟踪和定位功能; 2.不需要现场重复压力测试,等待故障出现和交换内存测试定位故障内存位置,可以依据已经生成的mcelog日志,快速判断故障出现频率、故障原因和故障位置; 3.实现方式简单,提高判断解决问题的效率。


图1是故障内存位置定位流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
故障内存位置定位流程及示例说明: O故障平台安装Linux系统,平台及软件安装配置要求: mcelog支持平台要求 32 bit x86 Linux: Redhat 6.0版本以上支持,需使用源码,编译安装; 64 bit x86_64 Linux:Redhat 5.0版本以上提供rpm包,默认不安装,需指定安装(hardware monitoring 选项卡中); 如果要随机器启动,请使用chkconfig命令 Chkconfig —add mcelogd Chkconfig —level 5 mcelogd onService mcelogd restart Mcelog相关文件 /dev/mcelog (设备文件) /var/log/mcelog (日志文件)/etc/mcelog/mcelog.conf (配置文件) 2)客户系统应用或使用内存压力测试工具; 3)MCA MCE MCELOG 原理说明; 在计算机中,机器校验架构(MCA)是指在操作系统中CPU报告硬件错误的一种机制,是cpu的一个ras特性;例如当一个ECC错误产生的时,位于cpu中的各种特定模型的寄存器(MSRs )会检测到有错误产生,将会触发MCA机制;而后产生一个系统中断,并将由各种寄存器(MSRs)记录下当时各种状态信息,交给操作系统处理,可以使用MCElog等软件解析错误出现的方式,位置以及状态等信息; MCA的错误报告类型: 有简单错误和复杂错误两种错误类型,这些错误类型通过获取IA32_Mci_StatusMSR状态信息产生,并比对错误代码和具体信息对照表获得相应的错误信息: 寄存器信息和具体表现含义对照表: MCE: 机器校验异常MCE (Machine Check Exception )是一类由硬件错误触发的异常,是一种当计算机硬件错误时发生的由一台计算机的CPU检测的硬件问题,比如当CPU检测到总线,CHIPSET,内存,CACHE等硬件出现致命错误时会触发这类异常。一般来说这些错误对系统的稳定性危害极大而且无法恢复,通常会触发系统的复位操作。在MCA架构的出现之前,OS对MCE的处理非常有限,经常就是简单的重启系统;目前,新的MCA架构,OS可以根据不同的错误源产生的错误类别,错误的严重程度,可以选择隔离错误,记录错误,甚至屏蔽错误源或重启系统,所以,利用新的MCA架构,可以记录MCE信息,生成mcelog进行故障分析:MCELOG: mcelog是x86的Linux系统上用来检查硬件错误,特别是内存和CPU错误的工具,且产生日志位置Jvar/log/mcelog;日志中可以记录内存故障发生时间、频率、故障类型及故障内存位置;示例如下:cpuO、channel2、idO内存发生内存读错误:Hardware event.This is not a software error.MCE 0CPU 0 BANK 8MISC 9288280800080789 ADDR 72e7cf900TIME 1341475261 Thu Jul 5 16:01:01 2012MCG status:MCi status:Corrected errorMCi—MISC register validMCi—ADDR register validMCA: MEMORY CONTROLLER RD—CHANNELunspecified—ERRTransaction: Memory read errorMemory read ECC errorMemory corrected error count (CORE—ERR—CNT):1Memory transaction Tracker ID (RTId): 89Memory DIMM ID of error: 0Memory channel ID of error: 2Memory ECC syndrome: 92882808STATUS 8c0000400001009f MCGSTATUS 0MCGCAP lc09 APICID 0 SOCKETID 0CPUID Vendor Intel Family 6 Model 444)Mcelog记录内存位置和实际物理槽位对照表
权利要求
1.一种Iinux系统下的故障内存位置定位方法,其特征在于具体步骤如下: O故障平台安装Linux系统,平台及软件安装配置要求: mcelog支持平台要求 .32 bit x86 Linux =Redhat 6.0版本以上支持,需使用源码,编译安装; .64 bit x86_64 Linux:Redhat 5.0版本以上提供rpm包,默认不安装,需指定安装,从hardware monitoring选项卡中查找; 如果要随机器启动,请使用chkconfig命令; Chkconfig —add mcelogd Chkconfig —level 5 mcelogd on Service mcelogd restart Mcelog相关文件 设备文件/dev/mcelog 日志文件 /var/log/mcelog 配置文件 /etc/mcelog/mcelog.conf .2)客户系统应用或使用内存压力测试工具; .3)MCA MCE MCELOG原理说明如下: 在计算机中,机器校验架构MCA是指在操作系统中CPU报告硬件错误的一种机制,是cpu的一个ras特性;当一个ECC错误产 生的时,位于cpu中的特定模型寄存器MSRs会检测到有错误产生,将会触发MCA机制;而后产生一个系统中断,并将由特定模型寄存器MSRs记录下当时各种状态信息,交给操作系统处理,使用MCElog软件解析错误出现的方式,位置以及状态的信息; MCA的错误报告类型: 有简单错误和复杂错误两种错误类型,这些错误类型通过获取IA32_Mci_StatusMSR状态信息产生,并比对错误代码和具体信息对照表获得相应的错误信息: 寄存器信息和具体表现含义对照表:MCE: 机器校验异常MCE是一类由硬件错误触发的异常,是一种当计算机硬件错误时发生的由一台计算机的CPU检测的硬件问题,当CPU检测到总线,CHIPSET,内存,CACHE硬件出现致命错误时会触发这类异常,这些错误对系统的稳定性危害极大而且无法恢复,会触发系统的复位操作,MCA架构,OS根据不同的错误源产生的错误类别,错误的严重程度,选择隔离错误,记录错误,甚至屏蔽错误源或重启系统,所以,利用新的MCA架构记录MCE信息,生成mcelog进行故障分析:MCELOG: MCELOG是x86的Linux系统上用来检查硬件错误,特别是内存和CPU错误的工具,且产生日志位置Jvar/log/mcelog;日志中记录内存故障发生时间、频率、故障类型及故障内存位置。
全文摘要
本发明提供一种linux系统下的故障内存位置定位方法,该方法不依赖于主板bmc对内存故障的判断和记录,利用系统产生的mcelog记录,配合实际物理槽位比对关系,快速判断故障内存错误类型和故障位置,快速解决由于内存故障导致的服务器死机、蓝屏等问题,相比目前的内存故障判断判断方法具有1.不依赖于主板bmc对内存故障跟踪和定位功能。2.不需要现场重复压力测试,等待故障出现和交换内存测试定位故障内存位置,可以依据已经生成的mcelog日志,快速判断故障出现频率、故障原因和故障位置。3.实现方式简单,提高判断解决问题的效率。
文档编号G06F11/34GK103198000SQ20131011224
公开日2013年7月10日 申请日期2013年4月2日 优先权日2013年4月2日
发明者李斌, 任华进 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1