用于了解插槽当前安装的 RAM 是否为 ECC/Non-ECC 和 Buffered/Unbuffered 的命令

Man*_*dan 4 command-line hardware command ram

关于笔记本电脑的 RAM 我确实意识到这是可用的

  • ECC
  • 非ECC
  • 缓冲的
  • 无缓冲

它符合:

该选项出现在newegg上,用于笔记本电脑内存(仅约ECC)和服务器内存(约ECCBuffered/Registered

问题)

使用什么命令或命令可以知道

  • 如果当前插槽安装的RAM是ECC/Non-ECCBuffered/ Unbuffered

观察结果

在公羊的盒子和公羊本身中,没有任何迹象表明这两个功能。另外对于一些基于DDR2的老型号,网上不存在这个信息。

目标

目的是检查当前安装的RAM是否正确,并进行正确的RAM升级。

tin*_*ink 10

跑步dmidecode -t memory

Handle 0x001A, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0019
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 16384 MB
    Form Factor: DIMM
Run Code Online (Sandbox Code Playgroud)

如果总宽度 > 数据宽度,则该棒为 ECC:

Handle 0x004D, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x004C
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 8 GB
        Form Factor: DIMM
        Set: None
        Locator: DIMMA1
        Bank Locator: P0_Node0_Channel0_Dimm0
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1600 MT/s
        Manufacturer: Samsung
        Part Number: M391B1G73BH0-CK0
        Rank: 2
        Configured Memory Speed: 1600 MT/s
Run Code Online (Sandbox Code Playgroud)

我不确定你所说的缓冲是什么意思。

  • @tink“缓冲RAM”是指以电方式缓冲的地址线,即本地通过包含每条线的寄存器并且通常还包含时钟清理电路的芯片。“缓冲”是一个用词不当(我们不再使用 EDO-RAM),因为信号不会被放大,而是写入寄存器,一个时钟后从该寄存器读取信号并将其发送到模块上所有连接的 RAM 芯片。无论如何,“缓冲 RAM”与“注册 RAM 模块”同义,已经不合时宜了。不知道主板是否知道这一点。但您会在以“R”结尾的类型名称中看到它。 (10认同)
  • @MarcusMüller 在 DDR4 和 5 中,有两个级别的寄存器/缓冲。寄存式 DIMM (RDIMM) 寄存时钟和地址线。减载 DIMM (LRDIMM) 还添加了数据线寄存器。通过使用堆叠芯片封装更高的数据线负载,可以实现更高的容量。RDIMM 不能与 LRDIMM 混合使用。 (6认同)
  • 这就是你注意到的方式。额外的位仅用于纠错。 (4认同)
  • 此外,普通的 memtest 不会检测到 ECC 由于校正而出现的间歇性问题。但这是可能的:硬件通过 [EDAC](https://www.kernel.org/doc/html/v4.13/driver-api/edac.html) 接口报告所有错误。您可以使用“edac-util”获取此详细信息。 (4认同)