CN104102566A - 一种排查多路众核服务器cpu故障的方法 - Google Patents

一种排查多路众核服务器cpu故障的方法 Download PDF

Info

Publication number
CN104102566A
CN104102566A CN201410379159.9A CN201410379159A CN104102566A CN 104102566 A CN104102566 A CN 104102566A CN 201410379159 A CN201410379159 A CN 201410379159A CN 104102566 A CN104102566 A CN 104102566A
Authority
CN
China
Prior art keywords
cpu
fault
file
mcelog
em64t
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
CN201410379159.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 CN201410379159.9A priority Critical patent/CN104102566A/zh
Publication of CN104102566A publication Critical patent/CN104102566A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种排查多路众核服务器CPU故障的方法,其特点在于通过对linux系统下自带的mcelog记录文件以及cpuinfo文件解析,将mcelog中记录的故障的逻辑cpu解析到物理cpu,然后通过对调故障cpu位置,同时对cpu及内存大压力测试来定位其故障。本发明的一种排查多路众核服务器CPU故障的方法和现有技术相比,可以及时、快速的发现cpu的故障问题,本发明还具有设计合理、结构简单、易于加工、使用方便等特点,因而,具有很好的使用价值。

Description

一种排查多路众核服务器CPU故障的方法
技术领域
本发明涉及计算机技术领域,具体地说是一种排查多路众核服务器CPU故障的方法。
背景技术
目前随着多路服务器的普及,企业级应用中出现了大量如四路服务器、八路众核服务器等多个物理cpu构成的服务器,而cpu与内存之间通讯的故障排查是一项复杂的技术问题。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种排查多路众核服务器CPU故障的方法。
本发明的技术方案是按以下方式实现的,其结构中通过对linux系统下自带的mcelog记录文件以及cpuinfo文件解析,将mcelog中记录的故障的逻辑cpu解析到物理cpu,然后通过对调故障cpu位置,同时对cpu及内存大压力测试来定位其故障。
购买TS850满配服务器,其配置为8颗物理cpu,每颗cpu为8核心,不开超线程技术的情况下,其逻辑cpu达到64核之众;
应用中出现死机故障,同时/var/log/mcelog出现报错信息,但mcelog记录的cpu为逻辑cpu,其与物理cpu对于关系并不是按序对应;
linpack可以使用intel MKL数学库中标准编译出来的测试程序,通过设定相应参数可以让所有cpu核心的使用率达到100%,同时使物理内存的利用率达到95%以上,cpu与内存之间进行频繁通讯;这种压力测试不是memtest配合单纯cpu压力测试所能达到的效果,cpu与内存之间的通讯更加紧密;
(1)mcelog报错介绍:
(2)在Linux系统下,打开/proc/cpuinfo文件,文件中显示如下信息:
通过mcelog记录报错显示是CPU 0 BANK 0出错,查找cpuinfo文件,可以确定,报错CPU的逻辑号为processor:0,逻辑号0对应的physical id为1,可以定位报错的CPU物理号为CPU1;
(3)更换物理1号cpu,对调1号与0号cpu故障,进行linpack压力测试:
l   使用Intel MKL软件中自带的脚本进行测试,所以要保证MKL的正确安装
l   使用Intel MPI软件运行测试,所以保证Intel MPI软件的正确安装,且初始化节点MPD环境;
以root用户编译 linpack 
cd /opt/intel/Compiler/11.1/072/mkl/benchmarks/mp_linpack 
make arch=em64t 
编译完成后 
cd /opt/intel/Compiler/11.1/072/mkl/benchmarks/mp_linpack/bin/em64t  
在此可以看到 HPL.dat 和 xhpl 2 个文件,其中 HPL.dat  为配置文件, xhpl 为可执行程序;
a启动MPD环境:
cd  /root 
vi  mpd.hosts          //编辑主机列表文件,包含所有参加计算的节点主机名
mpdboot –n #number  //#number表示启动机器数目,不大于mpd.hosts文件所列节点数
mpdtrace            //查看当前启动节点,正常情况会将所有启动节点名打印出来
b进入执行脚本所在目录:
cd  /opt/intel/mkl/10.1.2.024/benchmarks/mp_linpack/bin_intel/em64t
c编辑配置文件HPL_serial.dat:
其中的6行为需要修改的参数,分别表示以下含义:
l   2            # of problems sizes (N)   //有几组N,即需要解几组方程
l   1000 2000    Ns                    //矩阵N的规模,即矩阵的阶数
l   1            # of NBs               //有几组NB,即有几种分块方式
l   168          NBs                  //NB值即表示分块大小为多少
l   1            Ps                   
l   4            Qs                   //二位处理器网格(P×Q)
d编辑脚本文件runme_em64t:
修改文件中一句mpiexec -np 64 ./xhpl_em64t | tee -a xhpl_em64t_outputs.txt
中的-np 后面的值,应该等于P×Q;
e执行脚本runme_em64t:
./runme_em64t
(4)大压力测试一段时间后如果再出现故障,再次通过解析mcelog记录信息:
由此可以判断出故障随着目前的0号cpu为故障cpu,进行更换处理。 
本发明的优点是:
本发明的一种排查多路众核服务器CPU故障的方法和现有技术相比,可以及时、快速的发现cpu的故障问题,本发明还具有设计合理、结构简单、易于加工、使用方便等特点,因而,具有很好的使用价值。
附图说明
图1为一种排查多路众核服务器CPU故障的方法的结构示意图。
具体实施方式
下面结合附图对本发明的一种排查多路众核服务器CPU故障的方法作以下详细说明。
如图1所示,本发明的一种排查多路众核服务器CPU故障的方法通过对linux系统下自带的mcelog记录文件以及cpuinfo文件解析,将mcelog中记录的故障的逻辑cpu解析到物理cpu,然后通过对调故障cpu位置,同时对cpu及内存大压力测试来定位其故障。
某企业购买浪潮TS850满配服务器,其配置为8颗物理cpu,每颗cpu为8核心,不开超线程技术的情况下,其逻辑cpu达到64核之众。
应用中出现死机故障,同时/var/log/mcelog出现报错信息,但mcelog记录的cpu为逻辑cpu,其与物理cpu对于关系并不是按序对应。
linpack可以使用intel MKL数学库中标准编译出来的测试程序,通过设定相应参数可以让所有cpu核心的使用率达到100%,同时使物理内存的利用率达到95%以上,cpu与内存之间进行频繁通讯。这种压力测试不是memtest配合单纯cpu压力测试所能达到的效果,cpu与内存之间的通讯更加紧密。
(1)mcelog报错介绍:
以下面这个mcelog报错为例:
MCE 0
HARDWARE ERROR. This is *NOT* a software problem!
Please contact your hardware vendor
CPU 0 BANK 0 MISC 2 
MCG status:
MCi status:
MCi_MISC register valid
MCA: BUS Level-3 Generic Generic Other-transaction Request-timeout Error
<16:2> BQ_DCU_READ_TYPE BQ_ERR_HARD_TYPE BQ_ERR_HARD_TYPE
timeout BINIT (ROB timeout). No micro-instruction retired for some time
STATUS 8800004000020e0f MCGSTATUS 0
可以看出cpu0号逻辑cpu出现异常。
(2)在Linux系统下,打开/proc/cpuinfo文件,文件中显示如下信息:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model     : 47
model name :        Intel(R) Xeon(R) CPU E7- 8837   2.67GHz
stepping  : 2
cpu MHz   : 2666.844
cache size : 24576 KB
physical id  : 1
siblings  : 8
core id   : 0
cpu cores : 8
apicid    : 32
fpu     : yes
fpu_exception : yes
cpuid level  : 11
wp      : yes
flags     : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips  : 5333.68
clflush size : 64
cache_alignment : 64
address sizes : 44 bits physical, 48 bits virtual
power management: [8]
通过mcelog记录报错显示是CPU 0 BANK 0出错,查找cpuinfo文件,可以确定,报错CPU的逻辑号为processor:0,逻辑号0对应的physical id为1,可以定位报错的CPU物理号为CPU1。
(3)、更换物理1号cpu,对调1号与0号cpu故障,进行linpack压力测试:
l   使用Intel MKL软件中自带的脚本进行测试,所以要保证MKL的正确安装
l   使用Intel MPI软件运行测试,所以保证Intel MPI软件的正确安装,且初始化节点MPD环境。
以root用户编译 linpack 
cd /opt/intel/Compiler/11.1/072/mkl/benchmarks/mp_linpack 
make arch=em64t 
编译完成后 
cd /opt/intel/Compiler/11.1/072/mkl/benchmarks/mp_linpack/bin/em64t  
在此可以看到 HPL.dat 和 xhpl 2 个文件,其中 HPL.dat  为配置文件, xhpl 为可执行程序。
a启动MPD环境:
cd  /root 
vi  mpd.hosts          //编辑主机列表文件,包含所有参加计算的节点主机名
文件内容形如:
 mpdboot –n #number  //#number表示启动机器数目,不大于mpd.hosts文件所列节点数
mpdtrace            //查看当前启动节点,正常情况会将所有启动节点名打印出来
b进入执行脚本所在目录:
cd  /opt/intel/mkl/10.1.2.024/benchmarks/mp_linpack/bin_intel/em64t
c编辑配置文件HPL_serial.dat:
l   2            # of problems sizes (N)   //有几组N,即需要解几组方程
l   1000 2000    Ns                    //矩阵N的规模,即矩阵的阶数
【对结果并没有很高的性能要求,一般N值取1或2就行,注意N值为几则对应的Ns就要有几个值;矩阵的规模Ns值参考系统内存设定,一般占用内存的80%左右最佳,例如16G内存的情况下,Ns取值41448,如果为了加快测试速度,可减小Ns值。】
l   1            # of NBs               //有几组NB,即有几种分块方式
l   168          NBs                  //NB值即表示分块大小为多少
【NBs不能太大或太小,一般在32到256之间,此处建议取192 或224】
l   1            Ps                   
l   4            Qs                   //二位处理器网格(P×Q)
【首先规定P×Q=进程数,另外一般P≤Q ,P=2的n次幂 。也就是说,P×Q=核心数,例如有64核心,即可取P为8,Q为64】
d编辑脚本文件runme_em64t:
修改文件中一句mpiexec -np 64 ./xhpl_em64t | tee -a xhpl_em64t_outputs.txt
中的-np 后面的值,应该等于P×Q
e执行脚本runme_em64t:
./runme_em64t。
(4)大压力测试一段时间后如果再出现故障,再次通过解析mcelog记录信息:
MCE 1
HARDWARE ERROR. This is *NOT* a software problem!
Please contact your hardware vendor
CPU 22 BANK 0 MISC 2 
MCG status:
MCi status:
MCi_MISC register valid
MCA: BUS Level-3 Generic Generic Other-transaction Request-timeout Error
<16:2> BQ_DCU_READ_TYPE BQ_ERR_HARD_TYPE BQ_ERR_HARD_TYPE
timeout BINIT (ROB timeout). No micro-instruction retired for some time
STATUS 8800004000020e0f MCGSTATUS 0
可以看出cpu22号逻辑cpu出现异常。
查看cpuinfo信息
processor : 22
vendor_id : GenuineIntel
cpu family : 6
model     : 47
model name :        Intel(R) Xeon(R) CPU E7- 8837   2.67GHz
stepping  : 2
cpu MHz   : 2666.844
cache size : 24576 KB
physical id  : 0
siblings  : 8
core id   : 0
cpu cores : 8
apicid    : 32
fpu     : yes
fpu_exception : yes
cpuid level  : 11
wp      : yes
flags     : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips  : 5333.68
clflush size : 64
cache_alignment : 64
address sizes : 44 bits physical, 48 bits virtual
power management: [8]
由此可以判断出故障随着目前的0号cpu为故障cpu,进行更换处理。
本发明的一种排查多路众核服务器CPU故障的方法其加工制作非常简单方便,按照说明书附图所示即可加工。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (2)

1.一种排查多路众核服务器CPU故障的方法,其特征在于通过对linux系统下自带的mcelog记录文件以及cpuinfo文件解析,将mcelog中记录的故障的逻辑cpu解析到物理cpu,然后通过对调故障cpu位置,同时对cpu及内存大压力测试来定位其故障。
2.根据权利要求1所述的一种排查多路众核服务器CPU故障的方法,其特征在于购买TS850满配服务器,其配置为8颗物理cpu,每颗cpu为8核心,不开超线程技术的情况下,其逻辑cpu达到64核之众;
应用中出现死机故障,同时/var/log/mcelog出现报错信息,但mcelog记录的cpu为逻辑cpu,其与物理cpu对于关系并不是按序对应;
linpack可以使用intel MKL数学库中标准编译出来的测试程序,通过设定相应参数可以让所有cpu核心的使用率达到100%,同时使物理内存的利用率达到95%以上,cpu与内存之间进行频繁通讯;这种压力测试不是memtest配合单纯cpu压力测试所能达到的效果,cpu与内存之间的通讯更加紧密;
(1)mcelog报错介绍:
(2)在Linux系统下,打开/proc/cpuinfo文件,文件中显示如下信息:
通过mcelog记录报错显示是CPU 0 BANK 0出错,查找cpuinfo文件,可以确定,报错CPU的逻辑号为processor:0,逻辑号0对应的physical id为1,可以定位报错的CPU物理号为CPU1;
(3)更换物理1号cpu,对调1号与0号cpu故障,进行linpack压力测试:
使用Intel MKL软件中自带的脚本进行测试,所以要保证MKL的正确安装
使用Intel MPI软件运行测试,所以保证Intel MPI软件的正确安装,且初始化节点MPD环境;
以root用户编译 linpack 
cd /opt/intel/Compiler/11.1/072/mkl/benchmarks/mp_linpack 
make arch=em64t 
编译完成后 
cd /opt/intel/Compiler/11.1/072/mkl/benchmarks/mp_linpack/bin/em64t  
在此可以看到 HPL.dat 和 xhpl 2 个文件,其中 HPL.dat  为配置文件,xhpl 为可执行程序;
a启动MPD环境:
cd  /root 
vi  mpd.hosts             //编辑主机列表文件,包含所有参加计算的节点主机名
mpdboot –n #number    //#number表示启动机器数目,不大于mpd.hosts文件所列节点数
mpdtrace               //查看当前启动节点,正常情况会将所有启动节点名打印出来
b进入执行脚本所在目录:
cd  /opt/intel/mkl/10.1.2.024/benchmarks/mp_linpack/bin_intel/em64t
c编辑配置文件HPL_serial.dat:
其中的6行为需要修改的参数,分别表示以下含义:
2               # of problems sizes (N)            //有几组N,即需要解几组方程
1000 2000        Ns                             //矩阵N的规模,即矩阵的阶数
1               # of NBs                          //有几组NB,即有几种分块方式
168              NBs                                 //NB值即表示分块大小为多少
1                   Ps                   
4                   Qs                                  //二位处理器网格(P×Q)
d编辑脚本文件runme_em64t:
修改文件中一句mpiexec -np 64 ./xhpl_em64t | tee -a xhpl_em64t_outputs.txt
中的-np 后面的值,应该等于P×Q;
e执行脚本runme_em64t:
./runme_em64t
(4)大压力测试一段时间后如果再出现故障,再次通过解析mcelog记录信息:
由此可以判断出故障随着目前的0号cpu为故障cpu,进行更换处理。
CN201410379159.9A 2014-08-04 2014-08-04 一种排查多路众核服务器cpu故障的方法 Pending CN104102566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410379159.9A CN104102566A (zh) 2014-08-04 2014-08-04 一种排查多路众核服务器cpu故障的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410379159.9A CN104102566A (zh) 2014-08-04 2014-08-04 一种排查多路众核服务器cpu故障的方法

Publications (1)

Publication Number Publication Date
CN104102566A true CN104102566A (zh) 2014-10-15

Family

ID=51670736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410379159.9A Pending CN104102566A (zh) 2014-08-04 2014-08-04 一种排查多路众核服务器cpu故障的方法

Country Status (1)

Country Link
CN (1) CN104102566A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126381A (zh) * 2016-06-28 2016-11-16 浪潮(北京)电子信息产业有限公司 一种基于linux系统的CPU故障事件收集方法及系统
CN106293981A (zh) * 2016-07-29 2017-01-04 浪潮电子信息产业股份有限公司 一种服务器cpu超线程技术的检测方法
CN107145418A (zh) * 2017-05-09 2017-09-08 郑州云海信息技术有限公司 一种通过以太网交换机运行多节点Linpack集群的方法
CN107729193A (zh) * 2017-09-14 2018-02-23 郑州云海信息技术有限公司 一种基于Purley平台的Linpack测试自动优化配置方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126381A (zh) * 2016-06-28 2016-11-16 浪潮(北京)电子信息产业有限公司 一种基于linux系统的CPU故障事件收集方法及系统
CN106293981A (zh) * 2016-07-29 2017-01-04 浪潮电子信息产业股份有限公司 一种服务器cpu超线程技术的检测方法
CN107145418A (zh) * 2017-05-09 2017-09-08 郑州云海信息技术有限公司 一种通过以太网交换机运行多节点Linpack集群的方法
CN107729193A (zh) * 2017-09-14 2018-02-23 郑州云海信息技术有限公司 一种基于Purley平台的Linpack测试自动优化配置方法及系统

Similar Documents

Publication Publication Date Title
Di Martino et al. Lessons learned from the analysis of system failures at petascale: The case of blue waters
US8627143B2 (en) Dynamically modeling and selecting a checkpoint scheme based upon an application workload
US20130339829A1 (en) Machine Check Summary Register
Tan et al. Kahuna: Problem diagnosis for mapreduce-based cloud computing environments
CN105589776B (zh) 一种故障定位方法及服务器
US20130007507A1 (en) Mechanism for advanced server machine check recovery and associated system software enhancements
CN104102566A (zh) 一种排查多路众核服务器cpu故障的方法
CN108351826A (zh) 监视处理器的操作
US9063854B1 (en) Systems and methods for cluster raid data consistency
CN103049392A (zh) 缓存目录的实现方法及装置
WO2022120995A1 (zh) 一种基于PoW共识机制的设备算力评价方法及系统
Nikolaou et al. Modeling the implications of DRAM failures and protection techniques on datacenter TCO
EP3754481A1 (en) Technology for generating input/output performance metrics
CN105117310A (zh) 一种基于linux系统的内存读写带宽优化测试方法
Jamrozik et al. Reducing network latency using subpages in a global memory environment
Choi et al. Interference-aware co-scheduling method based on classification of application characteristics from hardware performance counter using data mining
CN106033368B (zh) 一种多核虚拟机确定性重演的方法
CN110532150A (zh) 一种机箱管理方法、装置、存储介质及处理器
US20220171672A1 (en) Storage of machine check exceptions
Zhang et al. Efficient detection of silent data corruption in HPC applications with synchronization-free message verification
CN106095631B (zh) 一种基于有限状态机实现的多周期非流水线cpu动态调试方法
Tong et al. Experiences in Managing the Performance and Reliability of a {Large-Scale} Genomics Cloud Platform
WO2014158161A1 (en) Error coordination message for a blade device having a logical processor in another system firmware domain
Quintero et al. IBM Power Systems Performance Guide: Implementing and Optimizing
US11948018B2 (en) Methods and systems for dynamic reconfiguring of hardware performance monitoring unit (PMU) events

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141015

WD01 Invention patent application deemed withdrawn after publication