运行 XMP(3200MHz)和非 XMP(2666MHz)配置文件时,我收到如下 RAM 错误:
Block Sequential : testing 56FAILURE: 0xffffffffffffffff != 0xffffffdfffffffff at offset 0x3c2cb1d8.
Block Sequential : setting 4FAILURE: 0x707060707070707 != 0x707070707070707 at offset 0x3c72b4e8.
Bit Spread : setting 108FAILURE: 0xfffebeffffffffff != 0xfffebfffffffffff at offset 0x3c72b4e8.
testing 119 Bit Flip : setting 115FAILURE: 0x7272727276727272 != 0x7272727272727272 at offset 0x125e2288.
setting 112 Checkerboard : testing 122FAILURE: 0xaaaaaaaaaeaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x125e2288.
testing 144 Bit Spread : testing 249FAILURE: 0xffffffffefffffff != 0xffffffffebffffff at offset 0x125e2288.
Bit Spread : testing 48FAILURE: 0xaaaaaaaaaaaaaaaa != 0xaaaaeaaaaaaaaaaa at offset 0x143f9660.
Bit Spread : testing 58FAILURE: 0xaaaaaaaaaaaaaaaa != 0xaaaaaaaaa8aaaaaa at offset 0x2f292268.
错误继续 - 我刚刚中断了测试。即使我在运行非 XMP 配置文件 (1.2V) 时使用 XMP 电压 (1.35V),错误仍然会发生。将 XMP 中的电压提高到 1.41V 也无济于事 - 错误仍然会发生。
单线程测试不会出现此错误。只有当 CPU 满负荷(或至少使用多个线程)时才会发生此错误。
CPU:AMD Ryzen Threadripper 3990X(64 个物理核心、128 个逻辑核心、2.9GHz 默认频率)
内存:
- 4 条 Crucial Ballistix 2x32GB DDR4 PC4-28800 BL2K32G36C16U4B (3600MHz)
- 4 条 Crucial Ballistix 2x32GB DDR4 PC4-25600 BL2K32G32C16U4B (3200MHz)
这些内存条安装在不同的通道对中,甚至可以使用不同的电压。每个通道可以有自己的时序。所有 RAM 的频率必须相同。
主板:技嘉 TRX40 Designare
我使用以下 Linux/Bash 脚本来重现该问题:
parallel-memtester.sh
:
set -x
LOG_FILE=memtester-log.txt
N_CORES=128
FREE_MB=$(awk '/^Mem/ {print $4}' <(free -m))
sudo echo Preventing $N_CORES sudo password prompts
rm $LOG_FILE
PER_WORKER=$(( ($FREE_MB - 700) / $N_CORES ))
for i in $(seq 1 $N_CORES)
do
(sudo memtester ${PER_WORKER}M >> $LOG_FILE 2>&1) &
done
follow-memtester.sh
:
tail -f memtester-log.txt | grep -i failure
kill-memtester.sh
:
sudo pkill memtester
所以我的问题是如何区分故障是由于 CPU、主板还是 RAM 引起的?我没有可更换的组件。
更新:模块 E37340F1、E37340F5、E37340F3 和 E3734104 安装在 A&B 通道中时,运行频率为 3600MHz,但在测试中失败。当只有 2 个模块占用 A2 和 B2 插槽时,如果我使用 E37340F3 和 E3734104,则没有 XMP - 它们只能以 2666MHz 运行,并且在该频率下不会产生任何故障。其他 2 个模块 E37340F1 和 E37340F5 以 3600MHz 运行,但在 Bit Flip 测试中失败。