Windows 記憶體診斷工具是否掃描超過 4GB 的 RAM?

Windows 記憶體診斷工具是否掃描超過 4GB 的 RAM?

回到 Windows 7 天,Windows 記憶體診斷工具無法掃描超過 4GB 的 RAM:

……該工具最多只能尋址 4GB RAM,且不會掃描超出該範圍的資料。

快進到今天。 Windows 10 內建了(可能)更高版本的 Windows 記憶體診斷工具。我現在在 16GB RAM 的 PC 上運行它。但圖形使用者介面是極為樸素。它不會顯示正在掃描的 RAM 數量或範圍。

有誰知道該工具的最新 Windows 10 版本是否可以掃描全部 16GBRAM,還是像以前的版本一樣僅限於前 4GB?

額外好奇的額外資訊:

Windows 記憶體診斷工具無法在 Windows 下運作。它是一個裸機應用程序,可以直接訪問實體 RAM(嗯,幾乎是直接的,但不需要太技術性)。在不了解原始碼的情況下,我們只能推測它是如何在幕後運行的以及為什麼有 4GB 的限制。顯然,即使 32 位元裸機應用程式也可以存取 4GB 以上的實體 RAM,只要此類應用程式使用保護模式和...一起PAE。正是這樣記憶體測試86在引入本機 64 位元支援之前,曾經這樣做過。

最終,這個問題不是關於什麼是可能的以及如何實現,而是關於 Windows 記憶體診斷工具的能力。 Windows 10 隨附的最新版本是否仍限制為前 4GB RAM?

答案1

這就是我研究這個問題的方式:

我先打開 Windows 10 ISO:

圖片1

並提取了 2015 年的 memtest.exe 檔案(一個好兆頭),然後檢查它:

圖片2

令我驚訝的是,這只是一個 32 位元程式。但當然它仍然可以使用PAE測試超過 4 GB。

然後,我在配備 Windows 10 和 8 GB RAM 的虛擬機器上開始記憶體測試。測試結果隱藏得很好,但我在事件檢視器的下方找到了它們Windows 日誌 -> 系統,作為來源列中具有「MemoryDiagnostics」的事件:

影像

如您所見,Windows 聲稱 8GB 的​​測試已通過。

所以微軟對你的問題的回答是:是的,我們可以。如果不是這樣的話,那就太不可思議了。

答案2

上面的那個工具太舊了,而且實際上它最多只支援 4GB RAM。

但Windows內建的memtest.exe則不同。我打開 Windows 7 64 位元 c:\Boot\memtest.exe,它顯示它是 32 位元應用程式。我猜微軟為 32 位元/64 位元硬體製作了一款工具。它將代替您的作業系統運行,在「預作業系統模式」下,PC「啟動」到 memtest 而不是您的作業系統。工具可以在其自己的模式下工作,不連結到作業系統(64 位元模式或 32 位元甚至 16 位元「實」模式)。工具不使用任何作業系統元件,例如 DLL、裝置驅動程式。我相信如果我們有相同的 32 位元和 64 位元二進製文件,它應該檢查所有可用內存,包括您的 16GB。

相關內容