问题描述
台式机(我的是GPU服务器)突然发现隔3-5天就会死机一次,硬件重启后可以正常使用,但过几天又会死机。
原因分析
出现这种情况大概率不是系统或某个软件卡顿造成的,因为这两种死机情况一般不会很频繁。如果无论我们是否进行过载操作(甚至什么都不做),机器依然总是隔一段时间死一次机,而且间隔时间很短,仅几天,这很有可能是硬件问题造成的,而死机很有可能和内存条有关系。(我们已经排除了CPU或GPU由于温度过高导致的断电保护机制。)
问题检测
Windows系统有很多硬件检测软件,比如可以使用aida64进行硬件检测,尽量多检测几次,一般硬件问题都可以检测出来。可是,对于Linux系统,如Ubuntu,没有这些硬件检测软件,那么该怎么初步检测呢?
- 1、输入
cd /var/log/
进入系统日志目录下 - 2、查看最近的系统日志
vim syslog.*
, *代表最近几天的系统日志编号,输入/memory
搜索是否有相关错误信息,查看是否有类似这样的错误信息:我们进一步提取上图绿色框中的关键信息:
- HANDLING MCE MEMORY ERROR
- memory read error on CPU_SrcID#0_MC#0_Chan#1_DIMM#0
大概率可以判断为内存条出了问题。
- 3、再来进一步确定,使用命令
grep "[0-9]" /sys/devices/system/edac/mc/mc*/ce_count
,可以查看ce数量,若大于0表示可能内存出错,这个信息和上面的错误信息会同时出现,也就是是同一个问题引起,此处命令的使用方法可参考[3-6]。 - 4、根据错误信息:memory read error on CPU_**SrcID#0_MC#0_Chan#1_DIMM#0,结合命令
sudo dmidecode | grep -A 9 -B 6 DIMM | grep Bank
的输出信息:
我们就可以初步判断出哪一跟内存条出了问题,这里是第三条。 - 此时就可以向供应商提供这些信息以及死机现象,让他们来更换内存条。如果供应商不能短时间内来解决,我们自己可以拿掉有问题的内存条(前提内存条数量大于1),这样应该就不会出现间歇性死机的情况了。
- 如果觉得还是可能查的不准就新找一个空磁盘装上win10系统,用专业的硬件检测软件来确定问题。
总结:如果你的机器死机情况和我的一样,且根据上面信息查出是内存条问题,那么可能是因为内存老化,而不是坏掉导致,这种情况可能导致机器仅在某些时刻才会出现问题,如果使用硬件检测软件可能不会立即查出问题,要多检查几次(Win),或者看最近几天的系统日志(Ubuntu)。
参考文章:
[1].https://jingyan.baidu.com/article/4dc40848ea266688d846f178.html
[2].https://blog.csdn.net/xuyaqun/article/details/13774497?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai
[3].https://blog.csdn.net/nazeniwaresakini/article/details/104220361
[4].https://lidong.blog.csdn.net/article/details/46865255?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.not_use_machine_learn_pai
[5].https://blog.csdn.net/xztjhs/article/details/9074353
[6].https://blog.csdn.net/charleslei/article/details/104738936
*如有错误或补充,欢迎指出。