我如何判断我的内存是 ECC 还是非 ECC?

我如何判断我的内存是 ECC 还是非 ECC?

我需要更换系统中的内存,但我不太清楚如何确定内存是 ECC 还是非 ECC。我该如何确定?

答案1

对于 Windows 7,您可以在命令提示符中运行以下命令:

wmic MemoryChip get DataWidth,TotalWidth

如果 TotalWidth 值大于 DataWidth 值,则表示您拥有 ECC 内存。

示例输出:

//ECC Memory
DataWidth  TotalWidth
64         72

//Non-ECC Memory
DataWidth  TotalWidth
64         64

更好的确定方法是通过以下命令:

wmic MemPhysical get MemoryErrorCorrection

这将返回基于代码的根据所安装的内存类型:

价值 意义
0(0x0) 预订的
1(0x1) 其他
2(0x2) 未知
3(0x3) 没有任何
4(0x4) 平价
5(0x5) 单比特 ECC
6(0x6) 多位 ECC
7(0x7) CRC

答案2

为了FreeBSD(可能还有大多数类 Unix 平台):

dmidecode -t 17

示例输出:

# dmidecode 2.12
SMBIOS 2.5 present.

Handle 0x1100, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x1000
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 2048 MB
        Form Factor: DIMM
        Set: 1
        Locator: DIMM1
        Bank Locator: Not Specified
        Type: DDR2
        Type Detail: Synchronous
        Speed: 667 MHz
        Manufacturer: AD00000000000000
        Serial Number: 00002062
        Asset Tag: 010839
        Part Number: HYMP125P72CP8-Y5
        Rank: 2

Total Width: 72 bits就是您正在寻找的部分。


在我们的姊妹网站上可以找到更多关于在 Linux 中检测此问题的信息Unix 和 Linux Stack Exchange

有关纠错码工作原理的更多信息,请参见在这篇简单的文章中我展示了如何使用额外的位来检测和纠正错误。这就是为什么我们有 64 位宽(8 字节数据宽)或 72 位宽(64 个数据加上用于存储冗余信息的额外位)的 DIMM。

2022 年 7 月 19 日 - ECC DDR5 现已推出,现在进行了小更新。DDR5 不是正常的 64 位,也不是 ECC 的 64+8 位。相反,它有两个 32 位通道,ECC 需要更多位。因此,DDR5 上的 ECC 预计为 80 位。

答案3

如果你看一下物理内存模块,ECC 通常有 9(有时更多)芯片。非 ECC 芯片只有 8(或者很少见,8x2=16)

ECC 与非 ECC (图片由普吉特系统

答案4

在 Mac 上,您可以查看系统信息应用程序来确定计算机和每个 RAM 模块的 ECC 状态。

/Applications/Utilities/System Information

在右侧窗格中的硬件部分下,选择“内存”。

然后选择“内存插槽”列表。下面的窗口应显示 ECC 状态。

参见下图:

系统信息应用程序窗口

另外,作为参考,每个 RAM 插槽都会有一个状态字段,如果在 RAM 模块中检测到问题,则状态将是“OK”以外的值

相关内容