我需要更换系统中的内存,但我不确定如何确定内存是ECC还是Non-ECC。我该如何确定?
我需要更换系统中的内存,但我不确定如何确定内存是ECC还是Non-ECC。我该如何确定?
Answers:
对于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
Value Meaning
0 (0x0) Reserved
1 (0x1) Other
2 (0x2) Unknown
3 (0x3) None
4 (0x4) Parity
5 (0x5) Single-bit ECC
6 (0x6) Multi-bit ECC
7 (0x7) CRC
wmic memphysical get memoryerrorcorrection
在8.1中为我工作)
对于FreeBSD(可能是大多数Unix平台):
dmidecode -t 17
输出示例:
#dmidecode 2.12 存在SMBIOS 2.5。 处理0x1100,DMI类型17,28字节 存储设备 数组句柄:0x1000 错误信息句柄:未提供 总宽度:72位 资料宽度:64位 大小:2048 MB 规格:DIMM 设置:1 定位器:DIMM1 银行定位器:未指定 类型:DDR2 类型详细信息:同步 速度:667 MHz 制造商:AD00000000000000 序列号:00002062 资产标签:010839 零件编号:HYMP125P72CP8-Y5 等级:2
这Total Width: 72 bits
是您正在寻找的部分。
在Linux中检测到更多的相关信息,可以发现这里对我们的姊妹网站unix.stackexchange.com。
有关纠错代码如何工作的更多信息,可以在这篇简单的文章中找到,我向您展示了如何使用额外的位来检测和纠正错误。这就是为什么我们有64位宽(8字节数据宽)或72位宽(64数据加额外位以存储冗余信息)的DIMM的原因。
Total Width
是72 bits
还是64 bits
。
如果您查看物理内存模块,则ECC通常具有9个(有时更多)芯片。Non-ECC将只有8个(或很少有8x2 = 16)。
(图片由Puget Systems提供)
在Mac上,您可以在“ 系统信息”应用程序中查找以确定计算机和每个RAM模块的ECC状态。
/Applications/Utilities/System Information
在硬件部分下的右窗格中选择“内存”。
然后选择“内存插槽”列表。下面的窗口应显示ECC状态。
见下图:
另外,作为一个参考,如果在RAM模块中检测到问题,则每个RAM插槽都将有一个Status字段,该状态将是“ OK”以外的值
inxi可以做到:
$ sudo inxi -m -xxx
Memory: Array-1 capacity: 32 GB devices: 4 EC: None
Device-1: ChannelA-DIMM0 size: 4 GB speed: 1333 MHz type: DDR3 (Synchronous)
bus width: 64 bits manufacturer: Kingston part: KHX1600C9D3/4GX serial: B7ED5A53
...
在这里使用非ECC-RAM模块 EC: None
4 EC: None
我应该寻找的价值吗?
EC: None
。该4
是前场的一部分(devices: 4
)。
您也可以尝试使用Belarc之类的免费应用。还提供了大量有关您系统的信息...
我已经使用过几次该软件。我与该软件无关,但我知道某些大学使用该软件。
我无法提供结果的屏幕快照,因为它包含机密数据,但是该网站应提供一些示例。它非常简单(快速),下载文件,运行它并显示结果。