我们的一台 Dell PowerEdge LCD 显示器显示“CPU 2 机器检查错误”,但我在日志中找不到任何有关 MCE 或“硬件错误”的信息。我清除了该消息,但我想让机器经历一些沉重的事情,看看我是否能让它再次失灵。
我使用了一个无限循环的 bash 脚本,执行了 64 次(每个核心一次),持续了几分钟。然后我使用一个名为“stress”的程序对 CPU 和内存执行了同样的事情。我的问题是,在通常可以说“好的,这台机器可以使用”之前,多少时间是足够的?几分钟?一个小时?只要 CPU 温度保持正常?
答案1
如果服务器在保修期内,请让供应商更换部件。
如果服务器不在保修期内且无法更换部件,则最终答案将是主观的。
这是一台不能出故障的服务器吗(例如:运行生命支持系统、处理实时金融交易)?还是这只是一个小狗爱好者网站的网络服务器?
无论哪种方式,只需让服务器通过新硬件的“磨合”过程即可。
我会加:如果您来这里是希望找到某人来承担将该服务器留在生产中所涉及的风险,那么我们的任何答案都不应被解释为我们认为可以将服务器按原样留在生产中。那您必须通过公司内部的风险评估流程发送这些信息。这里没有人可以给出明确的“运行 memtest 和 prime x 天且没有错误,您就能保证服务器稳定”...
答案2
对于内存:至少使用几个小时memtest86
。你花的时间越多越好。根据我的经验,低于 3 小时的一切都是不可靠的。我建议让它至少运行 12 到 24 小时以确保万无一失。
为了测试 CPU,您可以运行素数运算程序,例如mprime
其他压力测试,例如编译大量代码来验证计算是否正确。运行时间越长越好。
这些运行良好仍然不能保证你有任何保证。如果其中一个测试失败,你至少有办法重现。
另一方面,机器检查错误看起来确实应该向供应商报告,即使您无法重现它。即使经过测试,您的机器也可以运行数周甚至数月,但在最不幸的时刻会再次崩溃。