我的一台伺服器中有四個 512 MB RAM 模組。當我使用 memtest86+ 測試 RAM 時,第四個 RAM 僅顯示一位錯誤。即使當我將第四個插槽中的 RAM 與其他一些 RAM 交換時,我仍然會在第四個插槽中的完全相同位置的 RAM 中出現錯誤。因此,我想阻止伺服器使用 RAM 的一個特定位址(或 4kb 頁,如果需要)。伺服器具有 fedora 11,僅用於測試目的。它不託管任何用戶應用程式。關於如何阻止 RAM 的某些部分被使用有什麼想法嗎?或者無論安裝的 RAM 模組為何,導致特定位元組出現錯誤的原因是什麼。
答案1
我最近發現有一個核心參數(在啟動時提供,例如在 grub 配置中)
memmap=[數量]M$[起始位置]M
您可以多次提供它來鎖定部分記憶體。
例如。
記憶體映射=3M$217M
鎖定 217 到 219 的兆位元組
答案2
Linux 曾經有「BadMEM」補丁,但是將其升級到目前的核心需要花費一些精力。
答案3
正如您的測試所示,這聽起來像是主機板上可能有壞插槽。除了不使用該插槽之外,我從未見過解決此問題的方法。據我所知,沒有簡單的答案。我想可以創建一些軟體,但就像尼克說的那樣,這更像是一個SO問題。
答案4
您可以編寫一個內核擴展,該擴展在加載時只會分配此頁面,然後不執行任何其他操作。
唉,我不知道該怎麼做。當我以前在 IBM 的 VM 系統上工作時,這是內建的,但這當然沒有幫助。