我在一台服务器上安装了四个 512 MB RAM 模块。当我使用 memtest86+ 测试 RAM 时,第四个 RAM 只显示一位错误。即使我将第四个插槽中的 RAM 与其他 RAM 交换,第四个插槽中完全相同位置的 RAM 仍然会出现错误。因此,我想阻止服务器使用某个特定地址(或 4kb 页,如果需要)的 RAM。服务器安装了 Fedora 11,仅用于测试目的。它不托管任何用户应用程序。有什么想法可以阻止使用特定部分的 RAM?或者无论安装了什么 RAM 模块,导致特定字节出现错误的原因是什么。
答案1
我最近发现有一个内核参数(在启动时提供,例如在 grub 配置中)
memmap=[数量]M$[起始位置]M
您可以多次提供它来锁定部分内存。
例如。
内存映射=3M$2.17亿美元
锁定 217 至 219 兆字节
答案2
Linux 曾经有“BadMEM”补丁,但是将其升级到当前内核需要花费一些精力。
答案3
听起来主板上可能有坏插槽,正如您的测试所示。除了不使用该插槽之外,我从未见过其他解决方法。据我所知,没有简单的答案。我想可以创建一些软件,但就像 nik 所说的那样,这更像是一个 SO 问题。
答案4
您可以编写一个内核扩展,当加载时,它只会分配此页面,然后不执行任何其他操作。
唉,我不知道该怎么做。当我以前使用 IBM VM 系统时,这个是内置的,但这当然没什么用。