CN104102566A - 一种排查多路众核服务器cpu故障的方法 - Google Patents
一种排查多路众核服务器cpu故障的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 title claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000009434 installation Methods 0.000 claims description 6
- 239000007858 starting material Substances 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- 101150082137 Mtrr gene Proteins 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种排查多路众核服务器CPU故障的方法,其特点在于通过对linux系统下自带的mcelog记录文件以及cpuinfo文件解析,将mcelog中记录的故障的逻辑cpu解析到物理cpu,然后通过对调故障cpu位置,同时对cpu及内存大压力测试来定位其故障。本发明的一种排查多路众核服务器CPU故障的方法和现有技术相比,可以及时、快速的发现cpu的故障问题,本发明还具有设计合理、结构简单、易于加工、使用方便等特点,因而,具有很好的使用价值。
Description
技术领域
本发明涉及计算机技术领域,具体地说是一种排查多路众核服务器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,进行更换处理。
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)
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测试自动优化配置方法及系统 |
-
2014
- 2014-08-04 CN CN201410379159.9A patent/CN104102566A/zh active Pending
Cited By (4)
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 |