CN105786668A - 一种基于Redhat系统下内存错误检测方法 - Google Patents

一种基于Redhat系统下内存错误检测方法 Download PDF

Info

Publication number
CN105786668A
CN105786668A CN201610199778.9A CN201610199778A CN105786668A CN 105786668 A CN105786668 A CN 105786668A CN 201610199778 A CN201610199778 A CN 201610199778A CN 105786668 A CN105786668 A CN 105786668A
Authority
CN
China
Prior art keywords
under
error
value
internal memory
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
Application number
CN201610199778.9A
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 CN201610199778.9A priority Critical patent/CN105786668A/zh
Publication of CN105786668A publication Critical patent/CN105786668A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开一种基于Redhat系统下内存错误检测方法,属于系统内存测试领域;本发明针对于correctable memory error的检测,通过msr‑tool工具,实现自定义时间间隔读取寄存器信息,达到检测内存报错的目的,可以在BIOS未将报错发送给系统,读取到错误,使测试更准确,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。

Description

一种基于Redhat系统下内存错误检测方法
技术领域
本发明公开一种基于Redhat系统下内存错误检测方法,属于系统内存测试领域。
背景技术
随着人们对网络安全的逐渐重视,国内服务器迎来了快速发展的机遇,发展到现在,服务器已经经过了几代的升级,每一次升级都会伴随着硬件配置不断提高,性能也成倍的增长。现在比较高端的服务器,已经开始支持高达12T的内存,由于硬件与软件支持的内存越来越多,相应的对服务器的稳定性要求也越来越高。
服务器的稳定性,很大一部分取决于内存的稳定性,内存作为计算机系统下反复高速读取的部件,在硬件设计以及环境因素等条件下,很容易出现报错,其中主要报错有两种,一种为uncorrectable memory error,这种报错为系统不可纠正报错,若出现这种报错,一般会导致系统出现严重问题,一种是correctable memory error,这种错误比较常见,服务器中内存出现这种报错,则会由BIOS将报错信息发给系统,系统会在日志中进行记录,相关报错会记录在mcelog中,但是BIOS中会设置阈值,极少量的correctable memoryerror不会影响系统正常运行,并且由于服务器所使用的内存支持纠错功能,BIOS不会发送给系统,只是在相应寄存器下记录该错误数量,当出现大量的报错,达到BIOS中所设置的阈值,才会触发BIOS发送给系统,但有时少量correctable memory error错误也能引起系统故障,且未被报送的correctable memory error错误不利于系统外部环境方面分析导致内存报错原因。本发明提供一种基于Redhat系统下内存错误检测方法,针对于correctablememory error的检测,通过msr-tool工具,实现自定义时间间隔读取寄存器信息,达到检测内存报错的目的,可以在BIOS未将报错发送给系统,读取到错误,使测试更准确,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。
发明内容
本发明提供一种基于Redhat系统下内存错误检测方法,通过抓取寄存器信息来判断内存是否报错,相对于从系统下查看log来判定内存报错,更精确,并且通过实时抓取log信息,有利于从电压,温度等其他外部环境方面分析导致内存报错原因。
本发明提出的具体方案是:
一种基于Redhat系统下内存错误检测方法,对测试服务器在Redhat系统下进行内存压力测试,读取CPU寄存器值,确定每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat操作系统;
进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令添加到/etc/crontab文件中;
重新启动crond服务;
对系统下内存进行压力测试;
切换到相应日期下的文件夹下进行日志查看,寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
Redhat系统调用msr-tool工具读取CPU寄存器值。
Redhat系统调用msr-tool工具,进行寄存器读取,压力测试脚本通过抓取/proc/cpuinfo文件下的physical id,确定CPU数量,通过msr-tool分别读取每颗cpu下所使用的相关寄存器的值。
重新启动crond服务,每隔一定时间执行一次寄存器值的抓取,通过查看日志信息,确定错误发生的时间。
本发明的有益之处是:
本发明提供一种基于Redhat系统下内存错误检测方法,针对于correctable memoryerror的检测,通过msr-tool工具,实现自定义时间间隔读取寄存器信息,达到检测内存报错的目的,可以在BIOS未将报错发送给系统,读取到错误,使测试更准确,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。
附图说明
图1本发明测试流程示意图。
具体实施方式
一种基于Redhat系统下内存错误检测方法,对测试服务器在Redhat系统下进行内存压力测试,读取CPU寄存器值,确定每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat操作系统;
进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令添加到/etc/crontab文件中;
重新启动crond服务;
对系统下内存进行压力测试;
切换到相应日期下的文件夹下进行日志查看,寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
根据上述方法及发明内容,结合附图对本发明做进一步说明。
一种基于Redhat系统下内存错误检测方法,对测试服务器在Redhat系统下进行内存压力测试,调用msr-tool工具,进行寄存器读取,压力测试脚本通过抓取/proc/cpuinfo文件下的physical id,确定CPU数量,通过msr-tool分别读取每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat6.4操作系统;
系统安装完成后,进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令/5 * * * * rootsource /root/meminfo/meminfo.sh添加到/etc/crontab文件vim /etc/crontab中;
重新启动crond服务:
Service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
每隔一定时间执行一次寄存器值的抓取,通过查看日志信息,确定错误发生的时间,比如每隔5分钟执行一次寄存器值的抓取;
对系统下内存进行压力测试;比如cpu0和cpu1的一组测试数据如下:
dump cpu0 msr register start
bank0:0
bank1:0
bank2:0
bank3:0
bank4:0
bank5:0
bank6:0
bank7:0
bank8:0
bank9:0
bank10:0
bank11:0
bank12:0
bank13:0
bank14:0
bank15:0
bank16:0
bank17:0
bank18:0
bank19:0
bank20:0
bank21:0
bank22:0
bank23:0
dump cpu0 msr register done
**********************************
dump cpu1 msr register start
bank0:0
bank1:0
bank2:0
bank3:0
bank4:0
bank5:0
bank6:0
bank7:0
bank8:0
bank9:0
bank10:0
bank11:0
bank12:0
bank13:0
bank14:0
bank15:0
bank16:0
bank17:0
bank18:0
bank19:0
bank20:0
bank21:0
bank22:0
bank23:0
dump cpu1 msr register done
切换到/var/log/meminfo-log目录下,通过ls命令查看文件,会有以当前日期命名的文件夹,可以进行日志查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
原有的实际内存压力测试中,内存报错达到阈值后,才会由BIOS将报错信息发送给系统,某些内存压力测试下,实际情况下,内存已经出现了报错,在压力测试完成时,并未达到BIOS阈值,而系统下并未出现报错提示,尤其当机器断电后,所有报错信息也都一并丢失了,而本发明方法可以在BIOS未将报错发送给系统,就能读取到错误,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。

Claims (4)

1.一种基于Redhat系统下内存错误检测方法,其特征是对测试服务器在Redhat系统下进行内存压力测试,读取CPU寄存器值,确定每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat操作系统;
进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令添加到/etc/crontab文件中;
重新启动crond服务;
对系统下内存进行压力测试;
切换到相应日期下的文件夹下进行日志查看,寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
2.根据权利要求1所述的方法,其特征是Redhat系统调用msr-tool工具读取CPU寄存器值。
3.根据权利要求2所述的方法,其特征是Redhat系统调用msr-tool工具,进行寄存器读取,压力测试脚本通过抓取/proc/cpuinfo文件下的physical id,确定CPU数量,通过msr-tool分别读取每颗cpu下所使用的相关寄存器的值。
4.根据权利要求1或2所述的方法,其特征是重新启动crond服务,每隔一定时间执行一次寄存器值的抓取,通过查看日志信息,确定错误发生的时间。
CN201610199778.9A 2016-04-01 2016-04-01 一种基于Redhat系统下内存错误检测方法 Pending CN105786668A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610199778.9A CN105786668A (zh) 2016-04-01 2016-04-01 一种基于Redhat系统下内存错误检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610199778.9A CN105786668A (zh) 2016-04-01 2016-04-01 一种基于Redhat系统下内存错误检测方法

Publications (1)

Publication Number Publication Date
CN105786668A true CN105786668A (zh) 2016-07-20

Family

ID=56395263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610199778.9A Pending CN105786668A (zh) 2016-04-01 2016-04-01 一种基于Redhat系统下内存错误检测方法

Country Status (1)

Country Link
CN (1) CN105786668A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144669A (zh) * 2018-08-15 2019-01-04 郑州云海信息技术有限公司 一种mcs系统下nas虚拟机系统的压力测试方法与系统
CN110380817A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 持续抓取crc报错数量的方法、装置、终端及存储介质
CN110781053A (zh) * 2019-09-29 2020-02-11 苏州浪潮智能科技有限公司 一种检测内存降级错误的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198000A (zh) * 2013-04-02 2013-07-10 浪潮电子信息产业股份有限公司 一种linux系统下的故障内存位置定位方法
CN103218285A (zh) * 2013-03-25 2013-07-24 北京百度网讯科技有限公司 基于cpu寄存器的内存性能监控方法与装置
CN103744764A (zh) * 2013-12-26 2014-04-23 浪潮电子信息产业股份有限公司 一种基于Crontab的整机内存稳定性的测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218285A (zh) * 2013-03-25 2013-07-24 北京百度网讯科技有限公司 基于cpu寄存器的内存性能监控方法与装置
CN103198000A (zh) * 2013-04-02 2013-07-10 浪潮电子信息产业股份有限公司 一种linux系统下的故障内存位置定位方法
CN103744764A (zh) * 2013-12-26 2014-04-23 浪潮电子信息产业股份有限公司 一种基于Crontab的整机内存稳定性的测试方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144669A (zh) * 2018-08-15 2019-01-04 郑州云海信息技术有限公司 一种mcs系统下nas虚拟机系统的压力测试方法与系统
CN110380817A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 持续抓取crc报错数量的方法、装置、终端及存储介质
CN110781053A (zh) * 2019-09-29 2020-02-11 苏州浪潮智能科技有限公司 一种检测内存降级错误的方法和装置
US11853150B2 (en) 2019-09-29 2023-12-26 Inspur Suzhou Intelligent Technology Co., Ltd. Method and device for detecting memory downgrade error

Similar Documents

Publication Publication Date Title
CN103198000A (zh) 一种linux系统下的故障内存位置定位方法
CN104572422A (zh) 一种基于Linux系统开关机下内存监测实现方法
CN109710501B (zh) 一种服务器数据传输稳定性的检测方法和系统
CN104407951A (zh) 一种自动化进行服务器整机测试的方法
CN105786668A (zh) 一种基于Redhat系统下内存错误检测方法
CN104615523A (zh) 一种基于ipmi协议的bmc管理模块疲劳测试方法
CN113821200B (zh) 大数据任务可拖拽建模方法、系统、存储介质和终端
CN105743707A (zh) 一种基于Redhat系统测试BMC日志解析功能的方法
CN108572895B (zh) 一种Linux下自动检查软硬件配置的稳定性测试方法
CN107590017B (zh) 一种电子设备的检测方法和装置
WO2021056913A1 (zh) 基于i2c通讯的故障定位方法、装置及系统
CN112231130A (zh) 一种根据日志定位故障的方法、系统、设备及介质
CN104102563A (zh) 一种发现服务器系统的mca错误的方法及装置
US8949669B1 (en) Error detection, correction and triage of a storage array errors
CN104063308B (zh) 数据的验证方法及装置
CN108600690A (zh) 基于图像识别的仪表盘抄表方法及系统、存储介质及服务器
CN107562565A (zh) 一种验证内存Patrol Scurb功能的方法
CN116820932A (zh) 一种bmc故障诊断方法、装置、设备及介质
CN102279797A (zh) 一种检测内存泄漏的方法及系统
Wang et al. MisconfDoctor: diagnosing misconfiguration via log-based configuration testing
CN116401086A (zh) 内存漏斗错误上报机制的测试方法、装置、设备及介质
CN112213980A (zh) 一种单片机故障诊断板卡及方法
CN101316429A (zh) 一种手机及其自动发送错误报告的方法
CN109687929B (zh) 实现host-box多级级联服务器时间同步的方法
CN117407207B (zh) 一种内存故障处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160720

RJ01 Rejection of invention patent application after publication