首页 > 系统相关 >EDAC工具助力检测服务器内存故障

EDAC工具助力检测服务器内存故障

时间:2024-05-11 14:41:06浏览次数:26  
标签:EDAC Chan DIMM 内存 服务器 Ha CPU mc0

介绍EDAC工具前我们先知道什么是EDAC

EDAC(Error Detection And Correction 错误检测与纠正),是Linux系统的错误检测和纠正的框架,它的目的是在linux系统运行过程中,当错误发生时能够发现并且报告出硬件错误。

内存有两种错误类型分别是CE和UE,CE 是 Correctable Error 的简称, UE是Uncorrectable Error的简称,CE即可恢复的错误,暂不影响系统的正常运行。可以在找时机停机换掉。UE为不可恢复的内存错误,通常会导致宕机。

那么EDAC是如何控制和报告设备故障的呢?它又是如何将故障定位以及记录到对应的内存条上的呢?

  • Linux 是通过sysfs文件系统来展示内核设备的层次关系,EDAC则通过它来控制和报告设备故障。EDAC是通过抽象出来的内存控制器模型,将故障定位到对应的内存条上,这主要也是与内存在系统中的排列结构相关。CPU对应的每个MC(memory controller)设备控制着一组DIMM内存模块,这些模块通以片选行(Chip-Select Row,csrowX)和通道(Channel,chX)的方式排布,在系统中可以有多个csrow和多个通道。

故障确认及定位故障内存槽位

grep "[0-9]" /sys/devices/system/edac/mc/mc*/csrow*/ch*_ce_count
  • count:不为0的行即代表存在内存错误。
  • mc:第几个CPU。
  • csrow:内存通道。
  • ch*:通道内的第几根内存。

在/sys/devices/system/edac/mc/mc0/csrow4/下面还要如下几个文件,也可以助力你查询问题

使用edac工具来检测服务器内存故障

在linux中提供了一个edac-utils 内存纠错诊断工具,也可以用来检查服务器内存潜在的故障。

1.安装 edac-utils 工具

yum install -y libsysfs edac-utils

2.执行检测命令,可查看纠错提示如下

edac-util -v
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#0_DIMM#0: A1
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#1_DIMM#0: A2
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#2_DIMM#0: A3
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#3_DIMM#0: A4
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#0_DIMM#1: A5
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#1_DIMM#1: A6
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#2_DIMM#1: A7
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#3_DIMM#1: A8
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#0_DIMM#2: A9
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#1_DIMM#2: A10
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#2_DIMM#2: A11
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#3_DIMM#2: A12

其中

  • mc XX 表示 表示内存控制器0;
  • CPU_Src_ID#0 表示源CPU0;
  • Channel#0 表示通道0;
  • DIMM#0 标示内存槽0;
  • Corrected Errors 代表已经纠错的次数

当出现纠错计数时会在对应内存后面加Corrected Errors A1的字样

 

标签:EDAC,Chan,DIMM,内存,服务器,Ha,CPU,mc0
From: https://www.cnblogs.com/HByang/p/18186477

相关文章

  • 服务器网口协商速率不一致解决
    在端口协商过程中,设备之间会交换一些控制信息来决定最佳的速率和工作模式。然而有时候会发现网口协商速率不一致,或者存在硬件或软件问题,可能会导致端口协商失败或出现异常情况。主要查看网卡和上游网络设备协商速率和模式是否符合预期;解决方案:1重新自协商:ethtool-reth1/et......
  • springboot项目服务器访问速度慢-可能的解决方法
    springboot项目部署在服务器后,访问很慢或无法访问问题使用宝塔界面,尝试将打包后的jar包部署在服务器上运行时,发现访问速度不是很快,或者是直接访问不到。访问不到对应端口的springboot服务80端口也无法访问首次访问加载慢的解决方法修改jre文件找到安装的jre目......
  • 构建无服务器数仓(二)Apache DolphinScheduler 集成以及 LOB 粒度资源消费分析
    引言在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求。本系列博客从一个重视数据安全和合规性的B2C金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云科技云原生服务、开源社区产品以及第三方工具构建无服务器数据仓库的解......
  • RustDesk 自建服务器部署和使用教程
    RustDesk是一个强大的开源远程桌面软件,是中国开发者的作品,它使用Rust编程语言构建,提供安全、高效、跨平台的远程访问体验。可以说是目前全球最火的开源远程桌面软件了,GitHub星星数量达到了惊人的64k!与TeamViewer、ToDesk等专有远程访问解决方案相比,RustDesk作为一个开源......
  • jvm内存模型、垃圾回收机制
    JVM内存模型JVM内存模型包括:线程计数器、本地方法栈、栈、堆、方法区(元空间),类装载子系统,字节码执行引擎。线程计数器线程启动时,程序技术会分配一小块空间分配给当前线程,每个线程都会独享一块程序计数器空间,用于存储下条指令的单元地址程序计数器是一块较小的内存空间,用于......
  • (EDAC) 内存错误检测与纠正
    EDAC即errordetectionandcorrection(错误检测与纠正),是Linux系统内部的机制。在上面的日志中,可以清楚地看出是内存读错误。MC即memorycontroller(内存控制器)。CE则代表correctableerror,是ECC内存中可以纠正的错误,相对地还有UE(uncorrectableerror)。为了摸清是哪些内存出了问题,找......
  • 在Linux中,如何设计一个高性能的Web服务器?
    设计一个高性能的Web服务器需要考虑多个方面,包括硬件选择、操作系统优化、Web服务器软件配置、数据库优化、以及使用负载均衡和缓存策略等。以下是一些设计高性能Web服务器的步骤和建议:1.硬件选择CPU:选择快速的多核处理器,以便处理大量的并发请求。内存:足够的内存可以提高处理......
  • 如何在AlmaLinux服务器中安装 VirtualBox 7.0
    https://www.a5idc.net/helpview_1331.html目前由Oracle拥有和维护的OracleVMVirtualBox是世界上最受欢迎的开源虚拟化平台,它使用户能够从底层计算机硬件创建虚拟机。VirtualBox是第2类管理程序,这意味着它安装在现有操作系统(如Windows或Linux)之上,以创建模拟CPU、RAM......
  • 通过tftp或SSH中scp命令在linux服务器和linux开发板之间传输文件
    V1.02024年5月11日发布于博客园目录传送文件tftp协议★SSH协议scp命令SSH在Linux中连接另一个Linux配置开发板初始配置网络配置DNS文件配置脚本文件参考文档传送文件tftp协议#从电脑的TFTP主目录传送文件(比如a.txt)到开发板参数-g获取-r指定文件名tftp-g<......
  • 一三云服务器配置教程:要开放哪些端口?如何设置宝塔端口更安全?
    布署宝塔面板云服务器需要开放哪些端口?1、以一三云服务器为例,如需完整使用宝塔的所有功能,需要放行如下防火墙规则:20/21————–(FTP主动模式端口)39000-40000——(FTP被动模式-Linux 系统)3000-4000———(FTP被动模式– Windows系统)22——————(SSH远程登录)80—————(网站)4......