我最近买了 X670E Pro RS,并给它添加了一些 ECC 内存。现在我想启用内存清理,但是当我查看时却发现/sys/devices/system/edac/mc/mc0/
缺少sdram_scrub_rate
了。我似乎无法在网上找到原因。我将 ECC 从自动更改为启用,只是为了强制启用它。lsmod | fgrep edac
报告:
amd64_edac 69632 0
edac_mce_amd 40960 1 amd64_edac
哪一个是正确的,是的(?)。
我是否缺少驱动程序,或者我可能错过了所需的 edac-utils。
sdram_scrub_rate
问题在于为何失踪。
您的内存控制器驱动程序似乎既未实现可为您提供清理速率的功能,也未实现可设置清理速率的功能。在这种情况下,EDAC sysfs 根本无法使该属性可见。
这可能意味着内存控制器(对于 AMD Zen4/5 CPU,位于 CPU 内部)不支持此功能,或者只是驱动程序未实现此功能。(您的主板根本不重要 - 内存控制器基本上是任何现代 PC 上 CPU 的一部分。)
但是,您正在使用
amd64_edac
驱动程序,并且假设您有一个 0x1a CPU 系列设备,该设备应该设置这些功能(此处)。因此,我最好的猜测是,你要么在一个相当旧的内核上,要么强制 ECC“启用”没有做任何事情,并试图强制加载内核模块,尽管 ECC 硬件功能没有启用。
很抱歉不能提供更多帮助 – 如果您已经在使用 6.xy 系列内核,则需要重新编译内核(可能使用
CONFIG_EDAC_DEBUG
内核选项),以便能够查看哪里有可用的内容。