在过去的几个月里,我的台式电脑偶尔会死机。如果发生这种情况,屏幕上的内容(包括鼠标)都会冻结,我无法使用键盘重新启动或切换到虚拟控制台,并且 SysRq 序列不起作用 - 唯一的选择是通过机箱上的按钮进行硬重置。
我主要使用 Debian 11.6,偶尔使用 Windows 11 玩游戏。我玩游戏时从未遇到过卡顿,但这可能只是因为我玩游戏的时间很少。
不一致的线索:
夏季开始出现结冰现象,当时这里出现了热浪(> 40 °C)。所以我认为这是过热问题,的确,到了秋季和冬季,结冰现象发生得更少了——但并没有完全停止。以前每隔 1 或 2 天就会发生一次,现在可能每周发生一次。
我观看全屏视频时经常会出现冻结现象,有时(但并非总是)会出现彩色图案,就好像视频内存中写入了随机数据一样。因此,我认为这可能是视频卡的问题。(我安装了 VDPAU,因此程序可能使用硬件解码。)但是,在正常使用桌面时也会发生冻结现象。
诊断:
我查看了重启后的系统日志,但没有相关信息。最后的条目通常是几分钟前,与标准系统事件有关。但这可能只是意味着最后的消息由于冻结而丢失了。
dd if=/dev/zero of=/dev/null
我使用了基于以下的CPU 负载测试计算机异常死机,有 7 个并行作业(CPU 为 4 核,带超线程)。htop
显示所有 8 个虚拟核心都达到了 100%,但这并没有导致约 10 分钟后冻结。我安装了和
memtest86
,memtest86+
并从启动菜单启动了内存测试。使用这两个版本,计算机在大约一秒钟后冻结,但没有错误消息。请参阅下面的屏幕截图。这是否意味着我的内存有问题?我本以为我会收到一条错误消息。此外,我经常操作大型数据文件,但从未注意到文件数据损坏。我偶尔也会执行科学计算,这些计算往往会填满主内存,而且在此期间也从未遇到过冻结。(然而,由于过度交换,我经常导致系统崩溃。)
我发现,唯一能够持续快速地触发冻结的方法是记忆测试。
问题:
如果确实是内存故障,我如何确定需要更换四个内存模块中的哪一个?还是我应该全部更换?
我读过几个类似的问题,说电脑死机可能是由于电源故障造成的。大约一年半前,我更换了电源,因为旧的电源坏了。我原本打算使用完全相同的型号,但该型号已停产,所以我使用了规格稍高一点的型号。我利用这个机会彻底清洁了机箱内部。
我该怎么做才能从软件方面更好地诊断此问题?特别是,如何才能保留直到冻结的日志消息?Debian 11 使用 systemd 日志记录 - 是否有方法可以将消息发送到服务器或另外发送消息?
系统规格:
- 华硕电脑公司 P8Z77-M Rev 1.xx,带 SMBIOS 2.7
- American Megatrends Inc. BIOS 版本 1806
- 安静!直通电源 11 750W 750W ATX 黑色
- Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
- 256 KiB L1 缓存、1 MiB L2 缓存、8 MiB L3 缓存(L3 似乎已被禁用,我不记得这样做过)
- Intel 公司 7 系列/C216 芯片组
- 4 个模块 à 4 GB Transcend JM1333KLN-8GK DIMM DDR3 同步 1333 MHz (0.8 ns)
- NVIDIA 公司 GP106 [GeForce GTX 1060 6GB](rev a1)
- SAMSUNG SSD 830 系列和 WDC WD60EFRX,均无 SMART 错误
这台电脑已经用了大约 10 年了,所以买一台新的也没什么大不了的。在此期间,我做了几次小升级(增加内存、稍好一点的 CPU、更好的显卡),但这些升级都不是最近才发生的,不足以解释电脑死机的原因。
死机后内存测试屏幕照片:
第二个画面中,红色的“+”在冻结之后继续闪烁,这表示显卡仍在运转。
补充:
回应@Appleoddity 的评论,我取出了内存模块。它们牢牢地固定在插槽中,包括触点在内都很干净。当我重新插入它们时,我注意到有时它们看起来插入了,但实际上并没有正确插入,用力推就可以修复。但当这种情况发生时,我不会收到内存错误,但计算机根本无法启动。
为了防止只有一个模块出现问题,我一次放入一个模块并运行内存测试。但是,对于每个模块,所有测试都通过了,没有错误消息,也没有冻结。
然后我把它们成对放入。我不确定我是否完成了所有 6 种组合,但在我尝试的所有组合中,计算机在记忆测试开始几秒钟后就冻结了。
最后,我更新了主板 BIOS(最新版本,2015-12-18 的 2203),希望它能以某种方式解决问题,或者至少提供更好的诊断,但没有成功。我也试过减少在 BIOS 设置中调整内存时钟速度,但收到“超频”失败的错误消息。
我还有什么可以尝试的吗?我是否应该直接购买全新的内存模块?