Во времена Windows 7,Средство диагностики памяти Windowsне удалось просканировать оперативную память свыше 4 ГБ:
...инструмент может работать только с оперативной памятью объемом до 4 ГБ и не будет сканировать за пределами этого диапазона.
Перенесемся в сегодняшний день. В Windows 10 встроена (предположительно) более поздняя версия инструмента диагностики памяти Windows. Я запускаю его сейчас на ПК с 16 ГБ оперативной памяти. Но графический интерфейсчрезвычайно простой. Он не показывает, какой объем или диапазон оперативной памяти он сканирует.
Кто-нибудь знает, сканирует ли эта последняя версия инструмента для Windows 10все 16ГБоперативной памяти или она по-прежнему ограничена первыми 4 ГБ, как в предыдущих версиях?
Дополнительная информация для особо любопытных:
Windows Memory Diagnostics Tool не работает под Windows. Это приложение bare-metal, которое имеет прямой доступ к физической памяти (ну, почти прямой, но не нужно вдаваться в технические подробности). Не имея доступа к исходному коду, мы можем только предполагать, как оно работает под капотом и почему был/есть предел в 4 ГБ. Очевидно, что даже 32-битные приложения bare-metal могут получить доступ к физической памяти свыше 4 ГБ, если такие приложения используютзащищенный режимвместе сПАЕ. Вот именно такMemtest86Раньше так и было, до того как была введена поддержка 64-битных систем.*
В конечном счете, этот вопрос не о том, что возможно и как, а о том, на что способен Windows Memory Diagnostics Tool. Последняя версия, которая поставляется с Windows 10, по-прежнему ограничена первыми 4 ГБ ОЗУ?
решение1
Вот как я подошел к изучению этого вопроса:
Сначала я открыл ISO-образ Windows 10:
И извлек файл memtest.exe, датированный 2015 годом (хороший знак), затем проверил его:
К моему великому удивлению, я обнаружил, что это всего лишь 32-битная программа. Но, конечно, она все еще может использоватьПАЕдля тестирования более 4 ГБ.
Затем я запустил тест памяти на виртуальной машине с Windows 10 и 8 ГБ ОЗУ. Результаты теста хорошо спрятаны, но я нашел их в Event Viewer, в разделеЖурналы Windows -> Система, как события, имеющие «MemoryDiagnostics» в столбце Источник:
Как видите, Windows утверждает, что тест на 8 ГБ пройден.
Так что ответ Microsoft на ваш вопрос: Да, можем. Было бы невероятно, если бы было иначе.
решение2
Указанный выше инструмент слишком устарел и действительно поддерживает только до 4 ГБ оперативной памяти.
Но встроенный в Windows memtest.exe отличается. Я открыл Windows 7 64-bit c:\Boot\memtest.exe, и он показывает мне, что это 32-битное приложение. Я полагаю, что Microsoft сделала один инструмент для 32-битного/64-битного оборудования. Он будет работать вместо Вашей ОС, в "предоперационном режиме", ПК "загружается" в memtest вместо Вашей ОС. Инструмент может работать в своем собственном режиме, не связанном с ОС (64-битный режим или 32-битный или даже 16-битный "реальный" режим). Инструмент не использует никаких компонентов ОС, таких как DLL, драйверы устройств. Я считаю, что если у нас одинаковый двоичный файл для 32-битной и 64-битной версий, он должен проверить всю доступную память, включая Ваши 16 ГБ.