Linux 下排查内存硬件问题

那台很牛气的 256GB 内存的服务器,运行起来表面上没有什么问题,但仔细观察的话,会有一些蛛丝马迹表示出其实是有隐疾的。查看 dmesg 命令的输出,会发现不少类似以下的输出:

意思是内存巡检出错。由于对信息中的编号跟主板上的对应关系一时还没有完全映射明白,就打开机箱把第二条内存换了根测试,结果问题依旧存在。昨晚又耳哥发来一条命令 grep “[0-9]” /sys/devices/system/edac/mc/mc*/csrow*/ch*_ce_count,得到的结果如下:

当时正在地铁上,是用手机远程上去执行的,一开始以为每行的最后那个数字都是 0,是没有发现异常的,复制给又耳哥,他眼尖,提醒我倒数第二行那个数字是 9 而不是 0,应该就是那条有问题。今天中午,又扔过来两条命令:yum install edac-utils -y 和 edac-util -v,执行结果见下:

果然,那个鬼魅 9 又出现在倒数第二行。目前的推断是,应该是第七条内存有问题,改天换它试试。感觉已经逼近真相了。

更新(2019-11-29):
根据网上的信息,第一次的检索输出中,mc* 表示第若干个 CPU(有人特别提醒说,貌似不与主板上的物理 CPU 一一一对应),csrow* 表示内存通道,而 ch* 表示通道内的第几根内存。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注