AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 810314
Accepted
comfreak
comfreak
Asked: 2016-10-21 10:59:35 +0800 CST2016-10-21 10:59:35 +0800 CST 2016-10-21 10:59:35 +0800 CST

如何检查 RAM 是否在 ECC 模式下运行?

  • 772

自从我更换了处理器后,我更新了这篇文章,但我的问题的核心(不幸的是结果也是如此)是相同的。


我构建了我的第一个 FreeNAS 盒子并想使用 ECC RAM,因为我想存储关键数据。因为我的预算有限,所以我想选择仍然支持 ECC RAM 的最实惠的解决方案。

经过一番研究,我发现我需要一块支持 ECC 的主板、内存和 CPU。我选择的主板是“Gigabyte X150M-Pro ECC”,它有 C232 芯片组、DDR4 和 LGA1151 插槽。

我还购买了由金士顿制造的两个 DIMM 套件,型号为“KVR21E15S8K2/8”(规格表)。技嘉发布了一份经过测试的内存模块列表,我的模块似乎支持工作 ECC(支持的模块列表)。

内存标签

由于预算有限,我需要一个支持 ECC 的经济实惠的 Skylake CPU。根据英特尔的说法,赛扬 G3900 确实支持 ECC,所以我选择了那个。

构建计算机后,我想验证我的系统确实使用 ECC 内存运行并进入主板的 BIOS。从各种互联网站点,我发现一些主板有一个特殊的部分,应该告诉 ECC 是否工作,但我的主板似乎没有。我检查了所有菜单,但找不到类似的部分。

在做了更多的研究后,发现了一篇关于 Unix&Linux stackexchange 的帖子并没有解决我的问题。我尝试了最新memtest86+的,据我所知,它甚至没有显示值“ECC”。我尝试了Puget 系统使用的旧 4.20 版本,它显示“ECC:关闭”。然而,在阅读了前面提到的帖子之后,我怀疑它是否说实话(也许这就是该功能被删除的原因?)。两个版本也没有读出 DIMM 的正确速度和延迟,这增加了我对memtest86+.

memtest86+截图

另一种流行的确定 ECC 是否正常工作的方法是发出dmidecode -t memory命令并读出Total Widthand Data Width。我的结果分别是128 Bits和64 Bits。输出的一部分显示了有关具有键值对的内存阵列的详细信息Error Correction Type: Single-bit ECC。

我期待72 bits的是Total Width,所以我认为它可能与双通道有关,并将内存模块移动到两个相邻的插槽中,这应该防止双通道,但结果是一样的。这是完整的输出。dmidecode -t memory

我什至试用了 Puget 系统发布的有趣的C 程序,但结果是0,表明不支持 ECC。

现在我开始怀疑英特尔自己网站上的数据是否正确,而我的 CPU 实际上并不支持 ECC。内存和主板都特别标有“ECC”,所以我可以排除这些。

BIOS 版本是否可能需要更新(目前没有)才能启用 ECC,或者 ECC 实际上已经在工作而我只是无法验证它?或者如果我想运行 ECC 内存并且英特尔的网站是错误的/误导性的,我对 CPU 的选择是否错误?

如果我的 CPU 被证明是错误的选择,那么“预算 ECC CPU”的下一个最佳选择是什么?

更新:我看到一些新迹象表明我的系统实际上可能在启用 ECC 的情况下运行,并且该dmidecode工具只报告奇怪的数据。在 FreeNAS 论坛上,用户 Dusan 正在使用服务器级硬件(SuperMicro MB、Xeon CPU、金士顿 DIMM),并且具有类似的输出128 Bits。但他写道,他不确定自己是否真的有效。

更新 2:正如 yagmoth555 在他对这个问题的回答中提到的那样,我的主板似乎只支持带有 Xeon 处理器的 ECC,尽管我认为该注释是从以前的手册中复制过来的。我想这意味着我需要研究 Xeon 处理器.. :-/


更新 3:我现在购买了 Xeon E3-1220v5,它当然支持 ECC,应该满足手册的要求。我再次运行所有测试以检查 ECC 功能,结果基本相同:

ecc_check 和 dmidecode

从 Puget Systems 的评论来看,该ecc_check.c程序似乎也不适用于 Xeon 和 Core i7 处理器.. :-/

memtest86+这次我又检查了一些,我相当肯定它根本不支持 DDR4 或 C232 芯片组,因为它不仅报告错误的速度和时序,而且报告 DDR3 而不是安装的 DDR4。但是,它检测到处理器就好了,但是我仍然得到了两个版本的相同最终结果memtest86+:

内存测试86+ v5.01

4.20 版甚至没有正确检测到我的处理器..

memtest86+ v4.20

任何关于我如何测试 ECC 的想法都非常感谢。

central-processing-unit memory freebsd ecc truenas
  • 5 5 个回答
  • 32768 Views

5 个回答

  • Voted
  1. Best Answer
    comfreak
    2016-10-25T07:05:10+08:002016-10-25T07:05:10+08:00

    今天我发现 PassMark 有一个商业版本(memtest86没有+),它也提供免费版本,幸好包括 ECC-Checks。

    此外,它还支持 DDR4 和memtest86+.

    我的结果似乎对 ECC 支持是积极的,所以我会称之为完成,即使我希望使用“传统”工具(如dmidecode.

    memtest86 结果


    如果有人在以后偶然发现这篇文章并需要进一步验证和测试,他们还提供支持 ECC 错误注入的付费版本,以实际测试 ECC 功能。

    • 9
  2. yagmoth555
    2016-10-22T04:28:33+08:002016-10-22T04:28:33+08:00

    已编辑:主板手册中的新错误...:

    在此处输入图像描述


    我看到你运行 BSD/linux,在操作系统中运行它;(适用于FreeNAS)

    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是您正在寻找的部分。

    在 Windows 系统上,您可以运行

    wmic MEMORYCHIP get DataWidth,TotalWidth

    //ECC 内存数据宽度 TotalWidth 64 72

    //非ECC内存DataWidth TotalWidth 64 64

    FreeBSD 和 Windows 的答案从那里得到

    • 4
  3. user415177
    2017-05-14T03:22:23+08:002017-05-14T03:22:23+08:00

    使用 Ryzen 7 处理器,上面提到的工具都不适合我。然而,使用最新的 Linux 内核,edac-utils、edac-ctl 和 edac-util 中的工具可以读取 ECC 状态以及纠正错误的数量等信息。内核日志还将包含 dmesg 中带有“EDAC”的行,这也应该提供一些信息。可以通过对 RAM 超频并检查是否报告了错误(如果足够高)来进一步测试此功能,这几乎可以证明它确实有效。然而,即使这些工具报错或不工作,也只意味着不支持读取 ECC 状态信息,似乎没有 100% 可靠的方法来证明 ECC 不工作......

    • 4
  4. Dave Johnson
    2021-06-19T22:33:04+08:002021-06-19T22:33:04+08:00

    我发现dmidecode结果会被击中或错过,即使安装了非 ECC 内存,dmidecode 也经常报告具有 ECC 的板“功能”。同样,edac-utils也经常显示“无 DIMM 信息”的模棱两可的结果:

    root@richie:~# edac-util -v
    mc0: 0 Uncorrected Errors with no DIMM info
    mc0: 0 Corrected Errors with no DIMM info
    edac-util: No errors to report.
    

    但是,该lshw实用程序的输出似乎总是表明 ECC 是否已配置并正常工作,即使在 LGA1155 i3-2100 等边缘平台上(如果满足所有要求,它是少数支持 ECC 的台式机 Intel CPU 之一):

    root@richie:~#root@richie:~# sudo lshw -class memory|grep ecc
               capabilities: ecc
               configuration: errordetection=multi-bit-ecc
    
    • 1
  5. d hee
    2018-09-20T18:17:00+08:002018-09-20T18:17:00+08:00

    对于非服务器主板和芯片组,只有特定的 AMD 主板(如华擎)和任何 AMD 芯片组提供 ECC。

    对于 Intel,他们只在服务器 Xeon 芯片组上提供 ECC。英特尔在其台式机芯片组上禁用 ECC。

    • 0

相关问题

  • 哪些 939 插槽芯片支持 AMD-V?

  • DDR II 667 与 DDR 400

  • 两个双核与一个四核

  • 奔腾电脑的寿命

  • 有没有办法给一个带有 Windows 的 xen vm 提供多个虚拟 cpu?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve