32 битные windows видят только

Содержание
  1. Куда исчезает память в клиентских версиях Windows x86
  2. Сколько физической памяти компьютера доступно 32-разрядной операционной системе Windows 7
  3. Адресное пространство под нужды оборудования
  4. Конфликт адресов физической памяти и устройств
  5. Как полностью задействовать 4 гигабайта физической памяти в Windows x86
  6. Система видит не всю оперативную память
  7. Описание
  8. Причина
  9. Решение
  10. 1. Использование встроенной видеокарты
  11. 2. Программное ограничение
  12. 3. Лимиты операционной системы
  13. 4. Настройка базовой системы ввода вывода
  14. 5. Проверка крепления модулей или перестановка планок памяти
  15. 6. Проблема с БИОС / UEFI
  16. 7. Максимальный объем, который поддерживает материнская плата
  17. 8. Неисправность или несовместимость модуля памяти
  18. 9. Дискретная видеокарта
  19. 10. Ослабление кулера
  20. 11. Отключение виртуализации
  21. 12. Поддержка модуля со стороны материнской платы
  22. 13. Ограничения процессора
  23. 14. Установка драйвера для чипсета
  24. 15. Чистка модулей ластиком
  25. 16. Подгон таймингов
  26. 17. Ограничение лицензии Windows
  27. В чем была проблема?

Куда исчезает память в клиентских версиях Windows x86

Здравствуйте уважаемые читатели блога www.ithabits.ru. Продолжаем наше увлекательное исследование особенностей работы 32-битных операционных систем с оперативной памятью большого объема.

В прошлый раз мы уже полностью переключились на системы от Microsoft и выяснили, что все пользовательские версии x86, начиная с Windows XP SP2, не могут использовать физическую память больше 4-гигабайт из-за установленного в ядре ограничения. Мы нашли объяснение Microsoft, что это ограничение было сделано для того, чтобы избежать неустойчивой работы драйверов устройств, написанных без поддержки режима PAE (Physical Address Extension).

Остановились мы на том, что ограничение 4 гигабайта оперативной памяти не только делает невозможным использование физической памяти большего объема, но и, как мы скоро увидим, приводит к проблемам и в этом диапазоне.

Перейдем от теории к практике и на реальном примере покажем, почему в самом начале мы определили границу «большой памяти» для 32-разрядных операционных систем на уровне около 3, а не 4 ГБ.

Поможет нам в этом ноутбук Acer с 4 ГБ оперативной памяти и 32-битной Windows 7 Professional.

Сколько физической памяти компьютера доступно 32-разрядной операционной системе Windows 7

Посмотрим, сколько памяти видит windows 7, и что говорит об использовании физической памяти в этом компьютере сама операционная система >

Вот это да! Если верить тому, что мы видим, а не верить, вроде, оснований пока нет, то получается, что 1,51 ГБ – “деньги на ветер”.

Как же так? А все очень просто.

Адресное пространство под нужды оборудования

Посмотрим еще несколько отчетов. Запустим “Диспетчер задач”, затем “Монитор ресурсов” и откроем вкладку “Память” >

Ну вот, собственно, и готовый ответ на вопрос об использовании физической памяти — сколько памяти видит windows 7, или куда исчезли полтора гигабайта физической памяти. Они зарезервированы под нужды оборудования.

Нет, не так. Под нужды оборудования зарезервирована не память, а 1,5 ГБ адресного пространства в интервале 4 ГБ. Так как одно и тоже адресное пространство не может быть одновременно использовано и устройствами и памятью компьютера из-за неизбежного конфликта, “лишней” физической памяти стало просто некуда деться и она оказалась недоступна.

На первый взгляд такое положение вещей не кажется правильным и, естественно, не вызывает радости. Однако, как показала история развития компьютерной техники, решение разместить порты ввода-вывода устройств в основном адресном пространстве процессора было исключительно верным. Это позволило многократно увеличить скорость обмена данными с устройствами и разгрузить центральный процессор. Можно даже предположить, что без такого архитектурного решения, например, вряд ли была бы возможна современная высокопроизводительная графика.

Обратимся еще раз к таблице характеристик процессоров, приведенной в первой публикации. Первым процессором, который имел возможность адресовать 4 гигабайта оперативной памяти, был Intel 80386 выпущенный в 1985 году. Когда разрабатывался компьютер на его основе, было принято решение выделить адреса портов ввода-вывода устройств в верхней части 4-гигабайтного адресного пространства, а нижнюю часть отдать под физическую память.

Как мы уже говорили, представить себе в то время клиентский компьютер с 4 гигабайтами оперативной памяти было крайне сложно. И действительно, долгие годы адреса устройств и максимальный адрес установленной физической памяти шли на встречу друг другу, но не пересекались, и никаких конфликтов не возникало. Выглядело это примерно так >

Конфликт адресов физической памяти и устройств

Некоторое время назад реально появились клиентские компьютеры с 3 — 4 гигабайтами оперативной памяти (сейчас то этим уже никого не удивишь) и адреса оперативной памяти и устройств “встретились” и пересеклись. Вот так условно можно представить картину распределения адресного пространства и использования физической памяти для компьютера с установленными 4 гигабайтами оперативной памяти>

Красная зона в адресном пространстве, занятом устройствами, отражает конфликт, который всегда решается не в пользу физической памяти – это реальные потери, те самые 1,5 ГБ для нашего ноутбука.

Величина “потерь” зависит от того, как много физической памяти установлено в компьютере, и какое адресное пространство резервируют под себя устройства. На разных компьютерах она будет различной. Например, на моем настольном компьютере под нужды оборудования резервируется в два раза меньше — около 0,75 ГБ, но так как физической памяти установлено 6 ГБ, то потери в 32-битной Windows составят уже примерно 2, 7 ГБ, то есть почти половину (!)

Частично воспользуемся методикой, описанной в классической статье Марка Руссиновича «Pushing the Limits of Windows: Physical Memory«, и сделаем две вещи, — они нам пригодятся впоследствии. Воспользуемся маленькой диагностической утилитой MemInfo от Alexa Ionescu. Запустим ее с правами администратора на нашем ноутбуке с ключом –r и посмотрим как используется физическая память >

Читайте также:  Активация windows ключом retail

А теперь откроем “Диспетчер устройств” в “Управление компьютером”. Переключим “Вид” на “Ресурсы по типу” и откроем блок “Память” >

Сравниваем верхнюю границу физической памяти “9F800000”, определенную утилитой MemInfo, с нижней границей диапазона адресов, зарезервированных устройствами. В нашем случае это “A0000000” для видеокарты AMD Radeon HD. Все сходится. Есть еще окно в нижней части в диапазоне 640 КБ – 1 МБ. Как не трудно догадаться, это атавизм, пришедший к нам от 16-разрядного процессора 8086 и ДОС.

Вот так обстоят дела в “классических” 32-разрядных системах. В нашем случае система не является “классической” из-за включенного режима PAE, но выглядит абсолютно так же благодаря Microsoft-овскому ограничению. Очевидно, что задействовать в таких системах полностью 4 ГБ оперативной памяти невозможно в принципе.

Microsoft, некоторым образом, вводит пользователей в заблуждение, декларируя поддержку 4 гигабайт оперативной памяти. На самом деле, как мы уже поняли, система не может задействовать всю память из-за того, что адресное пространство ограничено сверху “FFFFFFFF” (4 ГБ), а именно это и делает Microsoft не смотря на то, что процессор может адресовать несоизмеримо больше и сама ОС давно поддерживает PAE. Одну из наиболее вероятных причин по которой это было сделано мы рассмотрели в прошлый раз.

Как полностью задействовать 4 гигабайта физической памяти в Windows x86

По-хорошему, для того, чтобы продемонстрировать, как можно вернуть “потерянную” память, нужно установить на нашем ноутбуке Linux с ядром PAE или серверную 32-разрядную версию Windows, причем такую, для которой заявлена поддержка более 4 ГБ памяти. Это, например, Windows Server 2003 или 2008 в редакции Enterprise. Делать мне ни первого, ни второго, по правде говоря, совершенно не хочется.

Марк Руссинович использовал для аналогичных целей 64-разрядную ОС. Мы пойдем другим путем. Для этого, правда, придется поступить не совсем честно по отношению к Microsoft — мы просто снимем в ядре ограничение на 4 гигабайта оперативной памяти. Как это сделать можно прочитать здесь.

Делаем и смотрим, что получилось >

Как видим, “потерянная” память сразу нашлась. Еще раз откроем монитор ресурсов >

Тут Windows пытается ввести нас в заблуждение когда говорит, что теперь под оборудование зарезервировано всего 138 Мбайт. Я не буду еще раз показывать карту распределения памяти устройств из “Диспетчер устройств” в силу того, что ровным счетом ничего не изменилось – все устройства остались на своих местах в диапазоне адресов между “A0000000” и “FFFFFFFF”. То есть, на самом деле серым цветом монитор ресурсов показывает не размер адресного пространства, зарезервированного под нужды устройств, а суммарный объем “потерянной” памяти. Почему “суммарный” станет ясно, когда мы перейдем к компьютеру с объемом установленной физической памяти больше 4 ГБ.

Посмотрим диапазоны зарегистрированной физической памяти с помощью утилиты MemInfo >

Видим, что внизу добавился новый диапазон размером 1,4 ГБ. Это и есть наша “потерянная” память. Из-за того, что мы продолжаем оперировать 32-х разрядными адресами, получился, как бы, конфликт. На самом деле никакого конфликта нет в силу того, что добавившийся диапазон физических адресов лежит выше “FFFFFFFF”. Попробуем графически изобразить то, что получилось после того, как мы сняли 4-гигабайтное ограничение >

“Умный” чипсет и BIOS ноутбука перенесли конфликтную часть физической памяти выше 4 Гбайтной границы. Благодаря этому и работающему режиму PAE, этот участок физической памяти стал доступен операционной системе.

Тут не лишним будет отметить, что для того, чтобы “потерянная” память могла вернуться, нужен не только процессор с поддержкой PAE, но и материнская плата, которая, во-первых, поддерживает больше 4 ГБ ОЗУ, во-вторых, умеет перемещать адресные блоки физической памяти, конфликтующие с оборудованием, выше “FFFFFFFF”. В BIOS по поводу последнего даже может быть отдельная настройка, что-то типа “Memory Remapping”. В использованном мной ноутбуке я такой настройки не нашел – видимо выбор Enabled/Disabled происходит в нем автоматически.

Подводим промежуточные итоги:

32-битные клиентские операционные системы Microsoft могут работать со всей установленной в системе физической памятью. В том, что это действительно так, мы убедимся в заключительной публикации на эту тему на примере компьютера с 6 ГБ оперативной памяти.

Система видит не всю оперативную память

Описание

Система определяет меньший объем оперативной памяти, чем установлено в компьютере.

Или системе доступна не вся память:

Также в БИОС может определяться не весь ее объем (чаще, только половина).

Причина

  1. Часть памяти забирает видеокарта.
  2. Лимит редакции или разрядности операционной системы.
  3. Программное ограничение.
  4. Резервирование памяти системой.
  5. Неисправность оперативной памяти.
  6. Ограничение со стороны процессора.
  7. Ошибка БИОС или необходимость его обновления.
  8. Лимит максимального объема, который поддерживает материнская плата.
  9. Материнская плата не поддерживает один из модулей памяти.

Решение

1. Использование встроенной видеокарты

Для этой проблемы характерно незначительное выделение памяти под работу видеоадаптера. В данном случае мы будем наблюдать небольшое уменьшение доступной памяти, например:

Любая интегрированная в материнскую плату видеокарта потребляет системную память, так как у нее нет своих ресурсов.

Читайте также:  Linux exit x server nvidia

Чтобы понять, какая видеокарта используется, можно зайти в диспетчер устройств (команда devmgmt.msc) и раскрыть раздел Видеоадаптеры:

. как правило, адаптеры NVIDIA и AMD являются дискретными (не встроенными), а Intel — интегрированными.

Если же мы захотим, чтобы встроенная видеокарта потребляла меньше памяти, заходим в БИОС/UEFI и находим один из параметров:

  • Share Memory Size
  • Onboard VGA Frame Buffer
  • Display Cache Window Size
  • On-Chip Video Window Size
  • Onboard Video Memory Size
  • Internal Graphic Mode Select
  • Integrated Graphics Share Memory
  • .

* в различных версиях БИОС они могут называться по-разному. Также не исключено, что может использоваться другие параметры — в таком случае нужно изучить документацию к материнской плате или воспользоваться поисковиком.

После меняем объем резервирования памяти под нужны видеосистемы:

2. Программное ограничение

Ограничение может быть выставлено в системе. Чтобы его снять, открываем командную строку и вводим команду msconfig — откроется окно «Конфигурация системы» (также можно воспользоваться поиском Windows по названию окна).

В открывшемся окне переходим на вкладку Загрузка и кликаем по Дополнительные параметры:

Проверяем, что не поставлена галочка на Максимум памяти или не стоит значение, меньшее объему. В противном случае, просто снимаем галочку:

3. Лимиты операционной системы

Разные редакции системы Windows имеют ограничение по максимально используемому объему памяти.

а) Все 32-х битные версии могут использовать максимум 3.25 Гб оперативной памяти. Это архитектурное ограничение — предел, на который способна система на 32 бита. Картина будет, примерно, такой:

Чтобы задействовать более 3 Гб памяти, необходимо переустановить систему на 64-х битную версию.

б) Редакции Windows также имеют ограничения. Например, Windows 10 Home 64 бита позволит использовать 128 Гб, а Windows 10 Pro x64 — 512 Гб. С Windows 7 ситуация хуже — домашняя базовая редакция позволит использовать лишь 8 Гб, а начальная, всего, 2 Гб.

Подробнее в таблицах:

ОС Ограничение, Гб
32-бит 64-бит
Windows 10 Home 4 128
Windows 10 Pro 4 512
Windows 8 4 128
Windows 8 Enterprise 2 512
Windows 8 Professional 4 512
Windows 7 Starter 2 2
Windows 7 Home Basic 4 8
Windows 7 Home Premium 4 16
Windows 7 Professional 4 192
Windows 7 Enterprise 4 192
Windows 7 Ultimate 4 192

Если наша проблема связана с лимитом редакции, необходимо обновить систему или переустановить ее.

4. Настройка базовой системы ввода вывода

Для того, чтобы компьютер мог задействовать всю память, в некоторых случаях, может потребоваться настройка БИОС/UEFI:

Настройка Описание Установить
HPET Mode Режим счетчиков HPET (High Precision Event Timer) 64 бита
Memory Hole Резервирование памяти для работы шины ISA Disabled
Memory Remapping Перемещает адресное пространство, используемое картами расширения, за пределы первых 4 Гбайт Enabled
Hardware Memory Hole
Memory Remap Feature
Memory Hole Remapping
DRAM Over 4G Remapping
H/W Memory Hole Remapping
H/W DRAM Over 4GB Remapping

5. Проверка крепления модулей или перестановка планок памяти

Планка памяти может быть подключена к слоту на материнской плате недостаточно плотно, из-за чего, она не будет использоваться компьютером. В таком случае, мы будем наблюдать нехватку большого объема памяти (на один модуль). Пробуем поплотнее ее вставить в разъем. При правильной установке, модуль должен издать щелчок.

Иногда, помогает перестановка местами модулей памяти. Просто разбираем компьютер, вытаскиваем модули и меняем их местами.

В некоторых случаях, может быть неисправным слот на материнской плате. Если есть свободные разъемы, можно попробовать задействовать их. Необходимо при этом использовать слоты одного цвета.

Если в материнской плате более 2 слотов, варианты установки планок для поддержки режима dual channel могут быть разные — рядом или через одну. В некоторых случаях, это приводит к тому, что один из модулей не определяется. Пробуем вставить плашки в разные слоты в разных вариациях.

6. Проблема с БИОС / UEFI

Так как БИОС/UEFI отвечает за сбор сведений о компьютере, проблема может возникнуть на начальной стадии включения ПК.

Для начала, пробуем сбросить настройки. Для этого отключаем компьютер от источника питания и вытаскиваем батарейку минут на 20 (первый раз можно попробовать, секунд, на 10). Если это не поможет, обновляем БИОС.

7. Максимальный объем, который поддерживает материнская плата

Необходимо проверить, какой максимальный объем может увидеть сама материнская плата. Для этого стоит воспользоваться инструкций — она идет в комплекте, а также ее можно скачать на сайте производителя. Еще, подобную информацию можно найти на некоторых Интернет-магазинах:

Некоторое оборудование (как правило, уже устаревающее), в принципе, не поддерживает большие объемы памяти. Например, ноутбук ASUS K50 по спецификации поддерживает 4 Гб, однако, официальная техническая поддержка заявляет, что он будет видеть только 3 Гб.

8. Неисправность или несовместимость модуля памяти

В случае неисправности памяти система и БИОС будут отображать не весь ее объем (как правило, только половину). Например, если в компьютер вставлено 16 Гб (2 планки по 8 Гб) мы будем видеть только 8. В этом случае можно попробовать вытащить и обратно вставить планки памяти (можно немного продуть их от пыли). Еще, планки можно поменять местами. Также можно попробовать почистить контакты (подойдет обычная стирательная резинка). В некоторых ноутбуках или моноблоках есть отдельная заглушка, открыв которую можно добраться до модулей памяти, иначе — необходимо разобрать компьютер полностью. Если это не помогло, выполняем тест памяти. В случае, когда тест также показывает часть памяти, пробуем вытащить обе планки и вставить их по одной — если компьютер не включится с одной из них, данную неисправную планку нужно заменить, если компьютер будет запускаться со всеми планками, возможно, мы имеем дело с проблемой БИОС (шаг ниже).

Также второй модуль памяти может быть несовместим с первым. При таком раскладе, мы также будем видеть половину объема, от необходимого. Подробнее про правильный выбор памяти читайте в инструкции Как выбирать комплектующие для компьютера. Стоит иметь ввиду, что память может быть неправильно промаркирована, из-за чего в магазине можно купить не ту планку. Проверить настоящие технические характеристики памяти можно с помощью различных программ, например AIDA64.

9. Дискретная видеокарта

Выше, уже указывалось, что встроенная видеокарта забирает часть памяти для своей работы. Дискретная карта, в некоторых случаях, также может забирать системную память в качестве, так называемой, «памяти подкачки». Это происходит в момент, когда собственной памяти ей не хватает (чаще всего, после разгона или запуска требовательных игр/приложений).

Для решения проблемы, пробуем следующее:

  • Если карта разгонялась, возвращаем старые параметры.
  • Переустанавливаем драйвер видеокарты.

Также, в некоторых ноутбуках может использоваться две видеокарты — встроенная и дискретная. Если приложение не требовательно к графическому адаптеру, то ноутбук будет работать от встроенной видеокарты, отнимая ресурсы памяти. Как вариант, в настройках БИОС можно включить приоритет использования дискретной видеокарты.

10. Ослабление кулера

Не совсем очевидное решение, но если слишком сильно затянуть кулер, это приводит к небольшому перегибу материнской платы. Это может привести к различным проблемам, в том числе, неспособностью компьютера увидеть одну из планок памяти.

Для решения необходимо разобрать компьютер и аккуратно ослабить крепление кулера — он должен прилегать к плате плотно, но не перегибать ее.

11. Отключение виртуализации

В некоторых случаях, включенная технология виртуализации может оказывать воздействие на поддержку максимального объема памяти. Чтобы проверить данный вариант, пробуем ее отключить.

Отключение поддержки виртуализации происходит в БИОС в разделе с названием похожим на CPU или CPU Configuration. Данный раздел находится, как правило в подразделе Advanced. В зависимости от используемого процессора, опция поддержки виртуализации называется по -разному:

  • для процессоров Intel переводим опцию Intel Virtualization Technology (или Intel VT) в положение Disabled.
  • для процессоров AMD переводим опцию SVM Mode в положение Disabled.

Сохраняем настройки и проверяем объем памяти.

12. Поддержка модуля со стороны материнской платы

Если память была докуплена, и она отличается от второй планки, необходимо убедиться, что материнская плата поддерживает новый модуль.

Это можно сделать на официальном сайте производителя материнки — переходим в раздел поддержки и находим лист совместимости. Среди перечня оборудования необходимо найти купленную память.

13. Ограничения процессора

У каждого процессора есть свой лимит на поддержку максимального объема оперативной памяти. Необходимо зайти на официальный сайт разработчика и проверить, какой максимальный объем поддерживает наш процессор.

Если наш процессор не способен поддерживать нужный объем, его придется заменить на более мощный.

Если проблема проявилась после перестановки процессора, обратите внимание на целостность ножек. Если погнуть одну из них, это может привести к разным негативным эффектам, в том числе, неполноценному определению объема памяти.

14. Установка драйвера для чипсета

Обновление или переустановка драйвера также может помочь в решении проблемы. Для этого определяем производителя и модель материнской платы, заходим на сайт производителя, находим страницу конкретной модели и скачиваем драйвер для чипсета. Устанавливаем скачанный драйвер и перезагружаем компьютер.

Также, драйвер можно установить в полуавтоматическом режиме с помощью программы DriverHub.

15. Чистка модулей ластиком

Если проблема появилась сама собой, можно попробовать вытащить модули памяти из материнской платы и чистим их контакты стирательной резинкой. После продуваем разъемы на материнской плате и вставляем память на место.

16. Подгон таймингов

Если в компьютер установлены планки с разными таймингами, контроллер памяти автоматически подгоняет нужные параметры, как правило, ориентируясь на показатели самой медленной из них. Но бывает, что контроллер не может подобрать оптимальные настройки. Это приводит к тому, что один из модулей не работает корректно и его объем памяти не задействуется.

Для настройки таймингов заходим в БИОС/UEFI и находим опцию настройки памяти. В зависимости от наличия типа микропрограммы, ее версии и производителя, данные настройки могут сильно отличаться. Необходимо найти инструкцию к используемой версии БИОС/UEFI для изменения параметров таймингов и выставить те, которые соответствуют самому медленному модулю памяти.

17. Ограничение лицензии Windows

В системах, которые идут в комплекте с компьютерами используется жесткая лицензионная политика, ограничивающая замену оборудования. Это может привести к ситуации, когда при добавлении памяти, она не будет распознаваться вся.

В данном случае необходимо переустановить систему. При этом не поможет простая переустановка поверх имеющийся системы — только полное форматирование системного раздела с установкой новой Windows.

В чем была проблема?

Если вам удалось решить проблему, поделитесь своим опытом для других:

Читайте также:  Струйные принтеры для линукс
Оцените статью