有没有办法重新启动服务器,以便它运行 memtest(例如,1 或 2 遍),然后重新启动回 Linux 并将报告写入某个日志?
Windows Server 2012 中的此功能多次帮助我诊断远程服务器上的 RAM 故障,但我无法通过 google 搜索 Linux 服务器的任何方法。
答案1
有一个内核命令行参数作为引导顺序的一部分来测试整个内存并锁定坏块。必然这个将要在启动序列中添加几分钟,使该框显示无响应。
memtest= [KNL,X86,ARM,M68K,PPC,RISCV] Enable memtest Format: <integer> default : 0 <disable> Specifies the number of memtest passes to be performed. Each pass selects another test pattern from a given set of patterns. Memtest fills the memory with this pattern, validates memory contents and reserves bad memory regions that are detected.
一旦知道坏块在哪里,badram=
如果 Linux 内核具有以下功能,则可以使用参数避免它们坏内存修补。也可以看看如何根据MemTest86+错误指示将正确的坏RAM扇区列入黑名单?
还有在线的用户空间内存测试器 -内存测试仪,并且您也可以直接进入 IPMI(它应该标记任何半像样服务器上的任何坏 RAM - 在我的 Intel 服务器上,任何 IPMI 发现的 ECC 错误都已写入 syslog)。